【问题标题】:application times out when connecting to MongoLab from Heroku从 Heroku 连接到 MongoDb 时应用程序超时
【发布时间】:2012-03-29 00:52:01
【问题描述】:

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

示例代码:

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

我需要从 Heroku 传递给 .connect() 的其他选项吗?

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

【问题讨论】:

  • mongourl 返回的值是否正确?
  • 您好,我在 MongoLab,很乐意提供帮助。 +1 Neil 所说的 .. 有兴趣知道 mongourl 的值——自然而然地屏蔽掉任何密码。
  • 嗨,尼尔,据我所知,蒙古人正在返回正确的值。嗨@dampier,这里是mongourl:mongodb://heroku_app3138529:mypassword@ds031407.mongolab.com:31407/heroku_app3138529 奇怪的是我无法弄清楚当我从本地环境运行应用程序时它可以工作,但不是来自 Heroku...

标签: node.js mongodb heroku timeout mlab


【解决方案1】:

如果其他人有这个问题:

现在可以选择您希望在 Heroku 上运行的节点版本。因此,通过将以下代码添加到我的 package.json 中,我能够毫无问题地连接到 MongoLab:

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

谢谢。

【讨论】:

  • 出了什么问题?切换到旧版本的 node 解决了吗?
  • 我对此也不清楚。我有同样的问题,虽然我在 package.json 中设置了我的节点值(在我的情况下为“0.10.x”)所以如果这是某种节点版本问题,我会很感激。
猜你喜欢
  • 1970-01-01
  • 2022-01-21
  • 2021-02-10
  • 2020-11-12
  • 2019-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
相关资源
最近更新 更多