Node.js无法从Heroku连接到mongodb 3到mongodb:SCRAM-SHA-1

Node.js无法从Heroku连接到mongodb 3到mongodb:SCRAM-SHA-1,node.js,mongodb,heroku,mongoose,mlab,Node.js,Mongodb,Heroku,Mongoose,Mlab,MongoLab最近将mongoDb版本更新为3.x。为了重现环境,我将node.js的本地版本更新为4.x,mongodb更新为3.x,mongoose更新为3.8 在我的本地环境中,我可以连接到mongoDb,但在heroku我不能。 出现以下错误: 无法连接到mongodb以获取地址mongodb://user:password@主机:端口/dbname 我怀疑是猫鼬的旧版本,或者是一种糟糕的连接方式,但为什么它能在我的本地环境下工作呢? 下面是如何将节点连接到mongoDb: var u

MongoLab最近将mongoDb版本更新为3.x。为了重现环境,我将node.js的本地版本更新为4.x,mongodb更新为3.x,mongoose更新为3.8

在我的本地环境中,我可以连接到mongoDb,但在heroku我不能。 出现以下错误:

无法连接到mongodb以获取地址mongodb://user:password@主机:端口/dbname

我怀疑是猫鼬的旧版本,或者是一种糟糕的连接方式,但为什么它能在我的本地环境下工作呢? 下面是如何将节点连接到mongoDb:

var uriString = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL
mongoose.connect(uriString, function (err, res) {
    if (err) {
        console.log('fail to connect to mongodb for address ' +       uriString);
    } else {
        console.log('Connection to mongodb ok');
    }
});
我找到了答案

看起来Mongoose 4.0.0支持MongoDB 3.0:


因此,在将mongoose升级到v4.x之后,我现在可以使用SCRAM SHA 1凭据连接到mongoDB。

您的应用程序生成的实际错误是什么?就像我说的:无法连接到mongoDB以获取地址mongodb://user:password@主机:端口/dbname可能与的重复