有没有办法改变代码中的MONGO_URL?

有没有办法改变代码中的MONGO_URL?

问题描述:

我正在寻找一种方法来改变Meteor加载Mongo数据库的方式。现在,我知道我可以在启动Meteor(或导出它)时设置一个环境变量,但我希望有一种方法可以在代码中执行此操作。这样,我可以根据条件动态连接到不同的实例。有没有办法改变代码中的MONGO_URL?

一个示例测试用例是代码解析url'testxx.site.com',然后根据'textxx'子域查找一个URL,然后连接到该特定实例。

我已经尝试在服务器代码中设置process.env.MONGO_URL,但是当客户端执行某些操作时,它不会获取新值。

任何帮助将不胜感激。

+0

只是想把这件事情弄糟 - 仍然试图找出没有运气的事情。 – mkrieger

+0

您是否尝试过捆绑应用程序,然后直接在node.js中运行?这可以让你使用MONGO_URL:http://docs.meteor.com/#deploying – booyaa

流星在启动时连接到Mongo(使用this code),因此对process.env.MONGO_URL的任何更改都不会影响数据库连接。

听起来好像你正试图在多个域上运行一个Meteor服务器,并根据客户端的请求同时连接到多个数据库。使用传统的服务器端脚本语言可能会有这种可能,但Meteor无法实现,因为服务器和数据库紧密结合在一起,并且服务器在启动时基本上连接到一个主数据库。

* .meteor.com托管服务现在正在做类似的工作,将来Meteor的Galaxy商业产品将允许您这样做 - 通过为每个子域启动单独的Meteor服务器。