使用Meteor的settings.json连接到本地MongoDB

mat*_*tro 5 mongodb meteor

我正在将Meteor应用程序中的一些管理/管理功能分解为另一个新的管理/管理功能,以减少客户端应用程序大小/帮助限制访问.我还在localhost和生产中单独安装了MongoDB.

我已经能够在不同的端口上运行每个应用程序,并在启动应用程序时连接到数据库传递环境变量:

# App 1
MONGO_URL=mongodb://localhost:27107/appDB meteor 
# App 2
MONGO_URL=mongodb://localhost:27107/appDB meteor --port 4000
Run Code Online (Sandbox Code Playgroud)

当然,我想settings.json在项目根目录中使用这些变量而不是必须指定它们(这里是settings.jsonApp 2):

{
    "env": {
        "PORT": 4000,
        "MONGO_URL": "mongodb://localhost:27017/appDB"
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用meteor run --settings settings.json传递这些变量.但是,Meteor将无法识别设置文件.我可能出错的任何想法?

更新1: @Apendua很友好地告诉我,settings.json它还不支持这种行为.改为设置bash别名.

更新2: @AshHimself指出Galaxy可以以这种方式识别环境变量,但是如果在本地环境中工作,核心Meteor文档并不十分清楚.

Tom*_*nik 2

我使用本地 MongoDB 和 bash 脚本运行 Meteor 应用程序。

转到 Meteor 项目目录并在命令行 (BASH) 中写入以下内容:

echo 'MONGO_URL=mongodb://localhost:27017/meteorprojectname meteor run' > run.sh
Run Code Online (Sandbox Code Playgroud)

更改脚本的权限,以便无需 sudo 即可运行它:

sudo chmod 777 run.sh
Run Code Online (Sandbox Code Playgroud)

现在你可以使用命令运行你的项目:

./run.sh
Run Code Online (Sandbox Code Playgroud)

更多信息:http://meteor.hromnik.com/blog/meteor-run-without-creating-local-mongo-database