类型错误:db.admin 不是函数

par*_*tal 5 javascript mongodb node.js

我正在学习 Mongo DB,我正在尝试列出所有数据库,在将 URL 提供给

var dbAdmin=db.admin()
Run Code Online (Sandbox Code Playgroud)

var dbAdmin=db.admin(); ^

类型错误:db.admin 不是函数

我已经控制台了它返回 JSON 的 DB 对象,它没有功能我遵循了 Brad Dayley 2018 年版《Node.js、MongoDB 和 Angular Web Development》一书中的代码

okt*_*gen 4

查看此处https://mongodb.github.io/node-mongodb-native/3.3/api/后,我通过修改您的代码使其工作(我猜测在您的情况下要应用 .admin() 方法,您需要 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();
})
});
Run Code Online (Sandbox Code Playgroud)

顺便说一句,“测试”只是任意的。