【问题标题】:How to deploy app to heroku with MongoDb/Mlab如何使用 MongoDb/Mlab 将应用程序部署到 Heroku
【发布时间】:2019-09-04 07:32:36
【问题描述】:

我在将 Node.JS 应用程序部署到 Heroku 时遇到问题,我知道是数据库导致了问题,但无法找出原因。我被引导相信我需要使用 Mlab 而不是 MongoDB Atlas,所以我现在都尝试了,但都没有工作。当我部署并访问 url 时出现错误。以下是日志:

    2019-04-13T21:42:47.139176+00:00 app[web.1]:   operationTime:
2019-04-13T21:42:47.139180+00:00 app[web.1]:    Timestamp { _bsontype: 'Timestamp', low_: 2, high_: 1555191760 },
2019-04-13T21:42:47.139181+00:00 app[web.1]:   '$clusterTime':
2019-04-13T21:42:47.139182+00:00 app[web.1]:    { clusterTime:
2019-04-13T21:42:47.139183+00:00 app[web.1]:       Timestamp { _bsontype: 'Timestamp', low_: 2, high_: 1555191760 },
2019-04-13T21:42:47.139184+00:00 app[web.1]:      signature: { hash: [Binary], keyId: [Long] } },
2019-04-13T21:42:47.139185+00:00 app[web.1]:   name: 'MongoError',
2019-04-13T21:42:47.139187+00:00 app[web.1]:   [Symbol(mongoErrorContextSymbol)]: {} }
2019-04-13T21:42:47.880138+00:00 heroku[web.1]: State changed from starting to up
2019-04-13T21:43:19.726698+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/" host=my-personal-blog16.herokuapp.com request_id=fa43cfdb-4704-4b0d-8de0-5d65604dd98f fwd="92.233.88.145" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 protocol=https

这是我连接数据库的 URI:

require('dotenv').config();

const dbpass = process.env.DB_PASS;
const mlabpass = process.env.MLAB_PASS;

module.exports = {
  MongoURI:
    `mongodb://fishj123:${mlabpass}@ds149885.mlab.com:49885/heroku_26921dvn`,

};

链接到我的 git 仓库:https://github.com/fishj123/personal-blog

非常感谢任何帮助。

【问题讨论】:

标签: javascript node.js mongodb heroku mlab


【解决方案1】:

对于任何有类似问题的人 - 我找出了问题所在。我没有在 Heroku 中设置全局变量,我没有意识到这是必要的。

在 Heroku 中设置变量就像转到“设置”选项卡然后在“配置变量”下设置变量一样简单。

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 2017-03-07
    • 2021-06-26
    • 2020-12-07
    • 2012-07-16
    • 1970-01-01
    • 2020-05-08
    相关资源
    最近更新 更多