使用Mongoose获取所有数据库的列表
问题描述:
有一些类似的问题,但他们都涉及使用MongoDB NodeJS driver而不是Mongoose ODM。使用Mongoose获取所有数据库的列表
我看了the docs但找不到这样的功能。
答
您不能直接获得由猫鼬所提供的连接列表中,但它很容易与蒙戈Admin
对象做,因为它含有一种叫listDatabases
功能:
var mongoose = require('mongoose')
, Admin = mongoose.mongo.Admin;
/// create a connection to the DB
var connection = mongoose.createConnection(
'mongodb://user:[email protected]:port/database');
connection.on('open', function() {
// connection established
new Admin(connection.db).listDatabases(function(err, result) {
console.log('listDatabases succeeded');
// database list stored in result.databases
var allDatabases = result.databases;
});
});
我觉得他要寻找的名字的可用数据库,而不是集合。 – JohnnyHK 2013-02-12 00:48:40