MongoLab最近将mongoDb版本更新为3.x.为了尝试重现环境,我将本地版本的node.js更新为4.x,将mongodb更新为3.x,将mongoose更新为3.8。
在我的本地环境中,我能够连接到mongoDb但是在heroku中我无法连接。 发生以下错误:
无法连接到mongodb以获取地址mongodb:// user:password @ host:port / dbname
我怀疑是较旧版本的mongoose,或者连接方式不好,但为什么它适用于我的本地环境? 我在这里如何将节点连接到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');
}
});
答案 0 :(得分:1)
我找到了答案,
看起来Mongoose 4.0.0支持MongoDB 3.0:Like mongodb doc illustrate
因此,在将mongoose升级到v4.x后,我现在可以使用SCRAM SHA 1凭证连接到mongoDB。