【问题标题】:MongoLab DB is not responding when using with localhost与 localhost 一起使用时,MongoLab DB 没有响应
【发布时间】:2016-10-21 01:21:04
【问题描述】:

我有一个基于 MongoLab MongoDB 的 Heroku 网络应用程序。 通过 heroku 生产站点访问该站点有效,我看到该站点还活着。

我的开发环境已配置为与生产数据库一起使用。
当我尝试连接时,我会继续:

mongoose.connection.on('error', function(err) {
...
});

还有 err.message = "连接 ETIMEDOUT 54.159.67.179:61188"

我应该如何继续?

【问题讨论】:

  • 如果这里有遗漏的信息要补充,请告诉我
  • 只是为了结束循环 - 它刚刚开始再次工作,我猜第 3 方服务器(Heroku/MongoLab)有问题

标签: node.js heroku mongoose mlab


【解决方案1】:

如果您单击 heroku 仪表板的资源部分,然后打开您的 mlab 资源,它应该会将您带到 mlab 主页。

第一部分信息应该向您展示如何通过 mongo shell 或使用标准 URI 连接到您的数据库。如果您在本地安装了 mongo,您可以通过这种方式连接到远程数据库吗?如果不是,则表明网络问题。您是从公司代理后面访问它吗? Mongo 默认使用端口 27017,该端口在大多数公司代理上未打开。如果是这种情况,那么我会与您的网络管理员联系。我知道在我的公司我们不允许使用这个端口,但是我们还没有使用云基础设施。祝你好运!

【讨论】:

  • 感谢@Matthew 的帮助,我与 MongoChef 成功连接,看来我没有网络问题
  • 有趣,所以你可以从 MongoChef 本地连接,但不能通过节点。您是否在节点的 URI 中指定数据库?
  • 是的,我已经在 node.js 中指定了 URI。我刚刚尝试在另一台计算机上创建开发环境,现在 mongoose 已成功连接 - 我想这意味着某些东西阻止了应用程序到达我特定计算机上的 mongoLab。需要进一步调查。
【解决方案2】:

我遇到了同样的问题。我的解决方案最终是环境变量(存储在我的应用程序中的 .env 文件中)有一个旧的“configvar”(Heroku 术语)并且:

  1. 在 Heroku 中转到所需的应用程序 Settings 选项卡
  2. 点击Reveal ConfigVars按钮
  3. 复制MONGODB_URI
  4. 将 URI 粘贴到 .env 文件(或您存储的任何位置)中

就是这样,重新开始营业。

【讨论】:

    猜你喜欢
    • 2014-07-31
    • 2016-03-06
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多