【问题标题】:Defining connection string for mongoose in environments在环境中为猫鼬定义连接字符串
【发布时间】:2012-04-16 14:10:37
【问题描述】:

我有一个相当“典型”的设置(我正在使用 RailwayJS)

架构:

customSchema(function(){
    // Initialize Mongo DB
    var mongoose = require('mongoose'),
        Schema = mongoose.Schema;

    mongoose.connect('mongodb://localhost/mydb'); //todo: needs to come from connection or something?!

    var MyModel = new Schema({
        name : String,
        email : String,
        something : String
    });
});

我的问题是,如何指定要使用的连接字符串?

我应该将 mongoose.connect 部分移到我的配置部分吗?

【问题讨论】:

    标签: node.js express mongoose railway.js


    【解决方案1】:

    这是我喜欢用的:

    var mongourl = process.argv[2] || process.env.NODE_DB || 'mongodb://anywhere/db';
    

    记得将NODE_DB 更改为您的环境变量名称。

    请注意,我还允许传递命令行参数(在使用 Cloud9 运行应用程序时很有用,因为这个很棒的服务不允许环境变量)。索引是2,因为命令是node app.js mongodb://address,如果需要记得调整。

    【讨论】:

    • 这里是Heroku doc,关于如何设置环境变量(非常简单)。在您的情况下,只需使用 $ heroku config:add NODE_DB=mongodb://localhost/mydb 注意:如果您使用的是 Heroku,请查看 MongoHQ add-on,以便您可以尝试免费、易于设置和维护 mongodb 服务。
    猜你喜欢
    • 2018-08-26
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2016-11-21
    相关资源
    最近更新 更多