【发布时间】:2014-11-20 22:17:15
【问题描述】:
我正在尝试将一个非常简单的应用程序部署到 Heroku。该应用程序的代码可以在 Ray Wenderlich 的网站上找到,这里是:http://www.raywenderlich.com/61078/write-simple-node-jsmongodb-web-service-ios-app 每当我尝试让 Heroku 编译代码时,都会遇到同样的错误......
var mongoHost = "mongodb://username:password@ds041140.mongolab.com:41140/heroku_app23491233";
var mongoPort = 41140;
var collectionDriver;
var mongoClient = new MongoClient(new Server(mongoHost, mongoPort)); //B
mongoClient.open(function(err, mongoClient) { //C
if (!mongoClient) {
console.error("Error! Exiting... Must start MongoDB first");
process.exit(1); //D
}
var db = mongoClient.db("heroku_app23491233"); // E
collectionDriver = new CollectionDriver(db); //F
});
当我输入heroku logs 时,我得到的错误来自上面的if (!mongoClient)...
app[web.1]: Error! Exiting... Must start MongoDB first
我确定问题出在我尝试连接到 MongoLab 数据库的某个地方。我已经从 MongoLab 复制了 URI,并使用正确的凭据创建了一个用户。
我可以使用非常相似的代码很好地连接到 localhost,所以我不确定这个示例中出了什么问题。
谢谢。
【问题讨论】:
标签: node.js mongodb heroku express mlab