首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError: db.admin不是一个函数

TypeError: db.admin不是一个函数
EN

Stack Overflow用户
提问于 2019-10-15 18:50:04
回答 1查看 1.5K关注 0票数 5

我正在学习Mongo,我试图列出所有的dbs,在给URL给

代码语言:javascript
运行
复制
var dbAdmin=db.admin()

代码语言:javascript
运行
复制
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);
    })
    });
代码语言:javascript
运行
复制
     var dbAdmin=db.admin();                        ^

TypeError: db.admin不是一个函数

我已经安慰了它返回JSON的DB对象,它没有我从布拉德·代利2018年版

的“Node.js,MongoDB和角网络开发”中遵循的代码

EN

Stack Overflow用户

回答已采纳

发布于 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()即可,或者:

代码语言:javascript
运行
复制
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();
})
});

顺便说一句,“测试”就是武断的。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58400956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档