繁体   English   中英

如何使用MongoDb / Mlab将应用程序部署到heroku

[英]How to deploy app to heroku with MongoDb/Mlab

我在将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

非常感谢您的帮助。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM