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

jvi*_*tti 2 mongoose mongodb node.js

有一些类似的问题,但所有这些问题都涉及使用MongoDB NodeJS驱动程序而不是Mongoose ODM.

我阅读了文档,但找不到这样的功能.

Wir*_*rie 11

你不能直接从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;    
    });
});
Run Code Online (Sandbox Code Playgroud)