我试图在http://mongodb.github.io/node-mongodb-native/
中找到这个问题的解决方案但是,我找不到从Node.js应用程序列出所有可用MongoDB数据库的解决方案。
答案 0 :(得分:18)
答案 1 :(得分:7)
您现在可以使用Node Mongo驱动程序(已通过3.5测试)完成此操作
const MongoClient = require("mongodb").MongoClient;
const url = "mongodb://localhost:27017/";
const client = new MongoClient(url, { useUnifiedTopology: true }); // useUnifiedTopology removes a warning
// Connect
client
.connect()
.then(client =>
client
.db()
.admin()
.listDatabases() // Returns a promise that will resolve to the list of databases
)
.then(dbs => {
console.log("Mongo databases", dbs);
})
.finally(() => client.close()); // Closing after getting the data
答案 2 :(得分:0)
*很难通过db.admin()。listDatabases获得列表,下面的代码在nodejs中可以正常工作*
const { promisify } = require('util');
const exec = promisify(require('child_process').exec)
async function test() {
var res = await exec('mongo --eval "db.adminCommand( { listDatabases: 1 }
)" --quiet')
return { res }
}
test()
.then(resp => {
console.log('All dbs', JSON.parse(resp.res.stdout).databases)
})
test()