【问题标题】:Node.js Application with Mongo.db on Heroku在 Heroku 上使用 Mongodb 的 Node.js 应用程序
【发布时间】:2013-07-29 22:15:26
【问题描述】:

我很难将我的 node.js 应用程序部署到 Heroku,因为我的 mongo.db 数据库有问题..

我在教程中看到了这种方法,我非常喜欢它。它看起来很干净并且位于 config.js 文件夹中,因此它与实际应用程序是分开的..

module.exports = {
  development: {
    root: rootPath,
    db: 'mongodb://localhost/minidatabase'
  },
  test: {
    root: rootPath,
    db: 'mongodb://localhost/minidatabase'
  },
  staging: {
    root: rootPath,
    db: process.env.MONGOLAB_URI
  },
  production: {
    root: rootPath,
    db: process.env.MONGOLAB_URI
  }
}

我的 app.js 文件中有这个

var env = process.env.NODE_ENV || 'development'
  , config = require('./config/config')[env]
  , mongoose = require('mongoose')


mongoose.connect(config.db)

当我在我的 config.js 文件中的开发对象中更改 mongodb://localhost/minidatabase 时,我的 MONGOLAB_URI heroku 工作正常,但这次我的本地服务器出现问题。我想指定不同配置的重点不是每次环境从开发切换到生产时都更改 URI,但似乎我的应用程序一直假定它处于生产模式..

【问题讨论】:

  • 我的问题不清楚吗?

标签: javascript node.js mongodb heroku


【解决方案1】:

最好创建一个本地 .env 文件并使用 Foreman(随 Heroku Toolbelt 安装)来启动您的应用程序。

你应该把它放在一个本地的 .env 文件中:

DATABASE_URI=mongodb://localhost/minidatabase

并编辑您的源代码以将数据库引用为:

mongoose.connect(process.env.DATABASE_URI)

然后使用以下方式启动您的应用程序:

foreman start

如果您不知道如何安装工头,请查看https://toolbelt.herokuapp.com/ 另外,请记住运行以下命令来设置 Heroku 中的 URI:

heroku config:set DATABASE_URI=[the mongolab URI goes here]

【讨论】:

    猜你喜欢
    • 2017-11-16
    • 2013-07-11
    • 2019-05-15
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2014-09-27
    • 2017-06-30
    • 2023-03-23
    相关资源
    最近更新 更多