2016-09-28 66 views
1

我在C#和Java上看到了答案,但無法在NodeJ上找到任何答案。我曾嘗試在Windows中使用cmd shell來獲取所需的輸出,但沒有運氣。如何使用NodeJs獲取MongoDB中的數據庫列表?

我知道,可以在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); 
 

 
}

回答

0

您可以使用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

看到這個答案

db.admin().listDatabases

+0

的console.log;(db.admin()listDatabases())。返回承諾{}。你能否建議我應該如何使用你的代碼來獲取數據? – Gdcrocx

+0

db.admin()。listDatabases()。then(function(databases){console.log(databases}); – stalin

相關問題