Node.js 无法从 Heroku 连接到 mongodb 3 到 Mongolab:SCRAM-SHA-1
Posted
技术标签:
【中文标题】Node.js 无法从 Heroku 连接到 mongodb 3 到 Mongolab:SCRAM-SHA-1【英文标题】:Node.js Fail to connect to mongodb 3 from Heroku to Mongolab : SCRAM-SHA-1 【发布时间】:2016-01-15 06:06:47 【问题描述】: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');
);
【问题讨论】:
您的应用产生的实际错误是什么? 就像我说的:无法连接到 mongodb 获取地址 mongodb://user:password@host:port/dbname Heroku app crashes after MongoDB updated to 3.0的可能重复 【参考方案1】:我找到了答案,
Mongoose 4.0.0 似乎支持 MongoDB 3.0:Like mongodb doc illustrate
所以在将 mongoose 升级到 v4.x 后,我现在可以使用 SCRAM SHA 1 凭据连接到 mongoDB。
【讨论】:
以上是关于Node.js 无法从 Heroku 连接到 mongodb 3 到 Mongolab:SCRAM-SHA-1的主要内容,如果未能解决你的问题,请参考以下文章
从 Heroku 上的 Node.js 连接到 CloudSQL
Node.js - 在 Heroku 上使用 MongoHQ 连接到 MongoDB
Heroku 上的 Node.js Express 应用程序不会使用 Mongoose 连接到 MongoLab 数据库