2012-03-12 94 views
1

我在Heroku上托管了一个node.js应用程序,并尝试使用节点模块node-mongodb-native连接到MongoLab以进行连接。我的应用程序在从本地主机连接到MongoLab时运行正常,但在部署到Heroku后,我得到一个应用程序错误H12(请求超时)。从Heroku连接到MongoLab时,应用程序超时

示例代码:

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)); 
       } 
      }); 
     }); 
    }); 
}); 

是否有我需要传递给.connect()从Heroku的附加选项?

任何建议,非常感谢。谢谢!

+1

是'mongourl'返回正确的值吗? – 2012-03-12 17:08:19

+0

嗨,我与MongoLab并希望能够提供帮助。尼尔说的+1 ......当然有兴趣知道'mongourl'的价值 - 掩盖任何密码。 – dampier 2012-03-12 17:51:09

+0

嗨尼尔,mongourl正在返回正确的值,据我所知。 喜@dampier,这里是mongourl:MongoDB的:// heroku_app3138529:[email protected]:31407/heroku_app3138529 奇怪的,我想不通的是,当我运行从应用程序的工作原理我的本地环境,但不是来自Heroku ... – jcarrig 2012-03-13 01:17:20

回答

0

如果任何人有这个问题:

现在可以选择你想在Heroku上运行哪些版本的节点。所以通过将下面的代码添加到我的package.json中,我能够连接到MongoLab没有问题:

"engines": { 
    "node": "0.6.12" 
, "npm": "1.1.4" 
} 

谢谢。

+0

问题是什么?切换到较旧版本的节点是否解决了这个问题? – jcruz 2013-01-18 18:25:15

+0

我对此也不清楚。我有同样的问题,虽然我在package.json中设置我的节点值(在我的情况下为“0.10.x”)因此,如果这是某种节点版本问题,我将不胜感激。 – darelf 2013-08-11 01:28:52

相关问题