使用Mongoose获取所有数据库的列表

还有一些类似的问题,但他们都涉及到使用MongoDB NodeJS驱动程序,而不是Mongoose ODM 。

我阅读文档,但无法find这样的function。

您不能直接从mongoose提供的连接中获取列表,但是使用mongo Admin对象很容易,因为它包含一个名为listDatabases的函数:

 var mongoose = require('mongoose') , Admin = mongoose.mongo.Admin; /// create a connection to the DB var connection = mongoose.createConnection( 'mongodb://user:pass@localhost: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; }); }); 

尝试运行这个代码 。 原始从Gist拿。