如何根据Node.js中的环境使用多个数据库连接字符串 - Express - Mongo?

时间:2017-08-16 09:16:36

标签: node.js mongodb heroku production mlab

在开发期间,使用Monk,在我的app.js中我定义了db变量并使其可以被路由器访问,如下所示:

var db = monk('localhost:27017/dbname');
[...]
app.use(function(req,res,next){
  req.db = db;
  next();
});

既然事情似乎运作良好,我想将我的应用程序部署到Heroku。为此,我在mLab上创建了一个帐户,以便在生产中使用数据库。

我已将环境变量MONGODB_URI设置为

heroku config:set MONGODB_URI=mongodb://user:password@server:port/dbname

我认为现在我可以用这种方式使用它:

var db = mongo.db(process.env.MONGOLAB_URI);

现在,我想保持我的开发环境不变,当我推送到Heroku而不是生产数据库。我怎么能这样做?

也许这并不复杂,但我对数据库和制作一般没有太多经验,所以我很感激一些帮助。

聚苯乙烯。另外我看到mLab说沙箱dbs(免费计划)不适合生产。但是,考虑到我的应用程序没有大量使用数据库(大多数只是存储一些数据,并且可能在将来显示某些内容),你认为如果我使用沙盒数据库是否可行?我可以遇到什么问题?

0 个答案:

没有答案