如何使用NodeJ获取MongoDB中的数据库列表?

时间:2016-09-28 12:51:08

标签: javascript node.js mongodb

我已经看过C#和Java的答案,但无法在NodeJ上找到任何东西。我尝试在Windows中使用cmd shell来获取所需的输出但没有运气。

我知道可以在Mongo shell中获取相同的信息,但要求是在NodeJs应用程序中获取一个列表。



 cmd = child_process.exec('"C:\\Program Files\\MongoDB\\Server\\3.2\\bin\\mongo.exe" admin ; db.getMongo().getDBNames()');




以及



var mongoServer = require('mongodb-core').Server;

 var server = new mongoServer({
    host: 'localhost'
    , port: 27017
    , reconnect: true
    , reconnectInterval: 50   });

  server.on('connect', function (_server) {

  console.log('connected');

 var cmdres = _server.command('db.adminCommand({listDatabases: 1})');

 console.log("Result: " + cmdres);

}




2 个答案:

答案 0 :(得分:2)

您可以使用mongodb驱动程序获取dbs,如下所示

var MongoClient = require('mongodb').MongoClient;

// Connection url
var url = 'mongodb://localhost:27017/test';
// Connect using MongoClient
MongoClient.connect(url, function(err, db) {
  // Use the admin database for the operation
  var adminDb = db.admin();
  // List all the available databases
  adminDb.listDatabases(function(err, result) {
    console.log(result.databases);
    db.close();
  });
});

参考: http://mongodb.github.io/node-mongodb-native/2.2/api/

答案 1 :(得分:1)

看到这个答案

db.admin().listDatabases