所以我正在努力,虽然从Manning获得意思书,并遵循第5章中的步骤我试图在Mongolab上使用数据库作为Heroku的附加组件。当我运行这段代码(本地和在Heroku)返回此错误:MongoError:getaddrinfo ENOTFOUND undefined undefined:27017
MongoError: getaddrinfo ENOTFOUND undefined undefined:27017
这是我当前的代码:
:var mongoose = require('mongoose');
var dbURI = "mongodb://localhost/loc8r";
if (process.env.NODE_ENV === 'production') {
dbURI = process.env.MONGOLAB_URI;
}
mongoose.connect(dbURI);
疑难解答我从终端与启动应用程序
NODE_ENV=production MONGOLAB_URI=/*my mongo uri here*/
与它在本地运行良好。所以我不确定问题来自哪里。有关排除列出的错误的任何建议?
所以我控制台登录我的环境,并将其推到heroku,它输出'生产'这似乎很好。所以我猜这个错误是由于某种原因使用'process.env.MONGOLAB_URI'所致。 – txnnxr
看看下面的对话,对于MONGOLAB_URI作为传统来说,Pneumee是完全正确的。我忘记了这一点,MONGODB_URI就是你想要用作你的Heroku env变量的东西。 但是,对于本地测试,这应该不重要,因为您只是为自己创建和提供变量。 您是否在使用Nodemon来启动您的应用程序?你用来启动的确切命令是什么? 对于调试,也尝试添加 console.log('DB URI:'+ process.env。MONGOLAB_URI); 在这个文件的某个地方,所以你可以很容易地监视它。 – Adam