我有兴趣针对单个Mongo数据库运行Admin Meteor应用程序和Client Meteor应用程序。有没有人这样做,或者知道如何在本地和生产中做到这一点?如何配置,我知道有一个可以配置的MONGO_URL。
答案 0 :(得分:4)
您可以通过在shell中运行以下命令,将全局MONGO_URL
设置为指向特定的正在运行的实例和数据库:
export MONGO_URL=mongodb://localhost:27017/your_db
(将localhost:27017
替换为任何主机名/端口# - 27017是Mongo运行的默认端口 - 和your_db
有问题的数据库)。这将覆盖默认的流星连接。您可以在this question和the 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