网站搜索

javascript - MongoDB/Meteor/将 MONGO_URL 导出到已部署的应用程序


我尝试按照 Meteor.js 文档中记录的方法导出 settings.json,以便将我的 Meteor.js 应用程序与外部 MongoHQ 数据库连接:

{
    "env": {
        "MONGO_URL" : "mongodb://xxx:[email :10037/xxx"
    }
}

使用命令:

mrt deploy myapp.meteor.com --settings settings.json

它甚至都不工作,我的应用程序仍然连接着 Meteor.app 提供的本地数据库!我的 MONGO_URL 环境变量没有更改。

有没有办法导出我的 MONGO_URL 环境变量以连接外部 MongoDB 数据库?

我看到在使用 Heroku 或 Modulus 时可以更改它,那么标准的在 meteor.com 部署的解决方案呢?

答案#1

你无法在 Meteor 部署托管中使用你自己的 MONGO_URL。

Meteor 部署托管会处理使用 Mailgun 的电子邮件(如果你使用它的话),并为那里部署的所有应用提供 MongoDB。

可以更改 MAIL_URL,但不可能使用不同的 mongodb。

你可以尝试,尽管我不确定它是否能奏效:

将此放在你的服务器端代码的某个地方

process.env.MONGO_URL = '..';

答案#2

在 server 文件夹下创建一个 lib 文件夹并编写:

Meteor.settings = { //your settings };

根据文档,位于名为 lib 的文件夹中的所有内容都会在其他任何内容之前执行,因此我们可以确保在此之前不会执行任何代码,从而防止访问不存在的 Metrics 时出现错误。

如果你已经在使用 lib 文件夹,你必须正确命名它以在任何可能冲突的东西之前运行,查看相关文档。

享受吧。