一个数据库上的2个流星应用

时间:2015-04-29 11:40:54

标签: mongodb meteor

我有兴趣针对单个Mongo数据库运行Admin Meteor应用程序和Client Meteor应用程序。有没有人这样做,或者知道如何在本地和生产中做到这一点?如何配置,我知道有一个可以配置的MONGO_URL。

1 个答案:

答案 0 :(得分:4)

您可以通过在shell中运行以下命令,将全局MONGO_URL设置为指向特定的正在运行的实例和数据库:

export MONGO_URL=mongodb://localhost:27017/your_db

(将localhost:27017替换为任何主机名/端口# - 27017是Mongo运行的默认端口 - 和your_db有问题的数据库)。这将覆盖默认的流星连接。您可以在this questionthe documentation中查看有关该内容的更多信息。你可以验证它是这样的:

$ echo $MONGO_URL
  mongodb://localhost:27017/your_db // response

您还可以使用connection option of Mongo.Collection()控制给定Collection的连接,但请注意,这不适用于第三方集合(如包中的那些;例如,如果使用Accounts包,则为用户集合) - 请参阅this question了解为何无效。

至于本地与生产,无论哪种方式,您都需要启动并运行MongoDB实例(instructions in MongoDB's docs)。您可以使用MONGO_URL在本地执行此操作,但在生产中执行此操作取决于您的生产设置 - 如果您具有CLI访问权限,则可以按照Meteor文档中上面链接的说明进行操作。

设置环境变量后,应该只需部署两个应用程序即可。您可以从this Quora thread找到有关如何执行此操作的更多信息,但简短的回答是,您可以通过管理IP地址部署到不同的子域,或通过配置PORT env变量部署到不同的端口,如文档中所示以上链接:

env PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node main.js