Node.js Can';t使用URI连接到MongoLab数据库。不过,外壳可以工作

Node.js Can';t使用URI连接到MongoLab数据库。不过,外壳可以工作,node.js,mongodb,mlab,Node.js,Mongodb,Mlab,我真的不知道为什么不能使用URI连接字符串从nodejs连接到mongodb数据库 不过,我可以使用mongo shell进行连接。证明: 这是我的连接代码: MongoClient.connect("mongodb://myusername:mypassword@ds043694.mongolab.com:43694/node-mongo-blog", { db: { w:1, native_parser:false }, server

我真的不知道为什么不能使用URI连接字符串从nodejs连接到mongodb数据库

不过,我可以使用mongo shell进行连接。证明:

这是我的连接代码:

MongoClient.connect("mongodb://myusername:mypassword@ds043694.mongolab.com:43694/node-mongo-blog", {
    db: {
        w:1,
        native_parser:false
    },
    server: {
        poolSize:5,
        socketoptions: {connectTimeoutMS: 500},
        auto_reconect: true
    },
    replSet: {},
    mongos: {}
}, connectionCallback);
是的,我可以保证我的登录拼写正确,因为我试了一百次。我还可以保证代码正确连接,因为它与我的localhost db一起工作。我还尝试创建其他用户,但是他们都无法通过URI连接。我正在使用mongodb 4.07

收到的错误是:

{ [MongoError: auth failed] name: 'MongoError', ok: 0, errmsg: 'auth failed', code: 18 }

有人能解释一下吗,因为我不知道它为什么不工作。

问题是我最近将mongodb更新到了3.07,但从未考虑过mongodb本机驱动程序与更新不兼容的事实

蒙古银行发布消息称:

如果您无法对运行MongoDB 3.0的部署进行身份验证,请确保您使用的是与3.0兼容的驱动程序。

然后他们将我发送到此链接:


我查了一下nodeJS,发现我需要一些>=v.1.4.29的东西。现在它已经更新了,一切正常。

哦,是的,我还尝试将
connectTimeoutMS
编辑到一个异常高的数字。