如何为我的Heroku评论应用配置mLab插件?

时间:2019-04-21 10:15:56

标签: node.js heroku mlab

我的Heroku评论应用程序找不到MONGODB_URI环境变量,我希望它根据the documentation由mLab插件自动提供。我的应用程序有一个app.json,它指定mongolab作为附加组件,并且是Node应用程序,因此我尝试通过process.env.MONGODB_URI访问变量,但它是undefined

我尝试运行heroku addons:open mongolab -a my-app-pr-17来查看配置的数据库,但收到消息“找不到附加组件”

Heroku仪表板中评论应用程序的资源选项卡显示消息“此应用程序没有附加组件”

运行heroku config -a my-app-pr-17显示一个空列表。

这是我的app.json文件。

{
  "name": "my-app",
  "addons": [
    "mongolab"
  ],
  "buildpacks": [
    {
      "url": "heroku/nodejs"
    }
  ]
}

我希望在我的节点代码process.env.MONGODB_URI中是一个具有the documentation中所述的用户名和密码的URI。

1 个答案:

答案 0 :(得分:0)

问题在于 app.json仅在首次创建评论应用时读取。在同一评论应用程序的后续部署中,将不接受对app.json文件的更新。

就我而言,我已连接GitHub,打开了一个请求请求,该请求创建了一个评论应用程序,然后进一步推送了提交内容以更新app.json并添加 mongolab 附加组件。当这些进一步的提交没有为我创建插件时,我感到困惑,但是Heroku在应用程序的整个生命周期中都没有同步更改。

创建一个新的PR会创建一个新的评论应用程序,该应用程序具有我期望的自动配置的mongolab插件。我将插件手动添加到现有的审阅应用程序中,以继续使用它。