I am hosting a node.js application on Heroku and trying to connect to MongoLab using the node module node-mongodb-native to connect. My application works fine when run from localhost connecting to MongoLab, but after deploying to Heroku I get an Application Error H12 (Request timeout).
Sample code:
app.get('/', function(req, res) {
require('mongodb').connect(mongourl, function(err, conn){
conn.collection('mycollection', function(err, coll){
coll.find().toArray(function(error, results) {
if(error) console.log(error)
else {
res.send(util.inspect(results));
}
});
});
});
});
Are there additional options I need to pass to .connect() from Heroku?
Any suggestions are greatly appreciated. Thanks!
In case anyone else has this issue:
It is now possible to choose what version of node you would like to run on Heroku. So by adding the following code to my package.json I was able to connect to MongoLab no problem:
"engines": {
"node": "0.6.12"
, "npm": "1.1.4"
}
Thanks.
来源:https://stackoverflow.com/questions/9670179/application-times-out-when-connecting-to-mongolab-from-heroku