Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
843 views
in Technique[技术] by (71.8m points)

node.js - application times out when connecting to MongoLab from Heroku

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!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...