我正在学习Mongo,我试图列出所有的dbs,在给URL给
var dbAdmin=db.admin()
var mongoClient = require('mongodb').MongoClient;
mongoClient.connect("mongodb://localhost/",
{useUnifiedTopology: true,useNewUrlParser:true, poolSize: 5, reconnectInterval: 500 },
function(err,db){
console.log("DATABASE IS BEING LOGGED...." ,db);
var dbAdmin=db.admin();
dbAdmin.listDatabases(function (err,databases) {
console.log("before adding databases");
console.log(databases);
})
}); var dbAdmin=db.admin(); ^
TypeError: db.admin不是一个函数
我已经安慰了它返回JSON的DB对象,它没有我从布拉德·代利2018年版
的“Node.js,MongoDB和角网络开发”中遵循的代码
发布于 2019-10-15 20:32:26
在这里查看了https://mongodb.github.io/node-mongodb-native/3.3/api/之后,我通过修改您的代码(我猜在您的示例中,要应用.admin()方法,您需要Db对象,但您的db不是Db对象而是MongoClient对象)。只需将var dbAdmin=db.admin()更改为var dbAdmin=db.db('test').admin()即可,或者:
var mongoClient = require('mongodb').MongoClient;
var dbName = 'test';
mongoClient.connect("mongodb://localhost/",
{useUnifiedTopology: true,useNewUrlParser:true, poolSize: 5, reconnectInterval: 500 },
function(err,client){
//console.log("DATABASE IS BEING LOGGED...." ,client);
var dbAdmin=client.db(dbName).admin();
dbAdmin.listDatabases(function (err,databases) {
console.log("before adding databases");
console.log(databases);
client.close();
})
});顺便说一句,“测试”就是武断的。
https://stackoverflow.com/questions/58400956
复制相似问题