【问题标题】:Heroku Not Connecting to Mongo Atlas DB?Heroku 没有连接到 Mongo Atlas DB?
【发布时间】:2019-07-30 18:58:20
【问题描述】:

我的应用无法正确部署或连接到 Heroku 上的 Mongo Atlas DB。它一直在崩溃。 heroku URL 只是说要做日志,所以这里是命令行日志:

这是我的 server.js 文件的样子:

这是我的配置/键的样子:

这是我的 keys_prod.js 文件的样子:

这是我的 keys_dev.js 文件的样子(编辑的用户名和密码),但这也是我在 heroku 后端的配置变量所拥有的

还截取了这张截图,但不确定是否重要:

【问题讨论】:

  • 错误很明显,uri parameter is undefined。你确定你在 Heroku 的 Config Vars 中设置了 MONGO_URI 吗?
  • 这就是问题所在。我已将其设置为 mongoURI,就像它在密钥文件中一样,而不是我声明的 MONGO_URI。谢谢你的帮助!!

标签: reactjs mongodb heroku mongoose


【解决方案1】:

我没有正确设置 Heroku 配置变量。我已经将它设置为 mongoURI,就像它在 prod.keys JS 文件夹中一样,而不是像我声明的那样是 MONGO_URI。此外,我必须在 Heroku 的设置中将所有 ip 列入白名单。

【讨论】:

  • 只是好奇,您是否必须为 Atlas 使用 Heroku 配置/附加组件?我正在尝试部署一个类似的应用程序,并想知道我当前的问题是否是由于没有插件造成的。
  • 抱歉,Christy,您刚才没有看到您的评论。不,我不必添加任何额外的配置/附加组件或其他东西来正确部署。就像我说的,我不小心在 Heroku 中声明了我的数据库,这与我在实际应用程序中所做的不同。我做了 mongo_URI,当我尝试将它推送到 Heroku 时,它会失败,因为它无法正确连接。当我在我的实际 prod.keys.js 文件中声明它为 MONGO_URI(全部大写)时。
【解决方案2】:

在像 heroku 这样的部署平台中,很难配置 .env 。我通过使用 npm 包 dotenv 在我的项目中解决了这个问题。无论文件需要process.env init,使用这个包

常用的require.js方式:

require('dotenv').config()

它还有一些很酷的选项来管理env

这里是link

【讨论】:

    猜你喜欢
    • 2022-12-21
    • 2019-04-04
    • 2020-12-25
    • 2021-03-05
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    相关资源
    最近更新 更多