使用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;  
    }); 
}); 

尝试运行this code。原件取自Gist

+0

我觉得他要寻找的名字的可用数据库,而不是集合。 – JohnnyHK 2013-02-12 00:48:40