我正在寻找一种方法来改变Meteor加载Mongo数据库的方式。现在,我知道我可以在启动Meteor(或导出它)时设置环境变量,但我希望有一种方法可以在代码中执行此操作。这样,我可以根据条件动态连接到不同的实例。
示例测试用例是代码解析网址'testxx.site.com',然后根据'textxx'子域查找URL,然后连接到该特定实例。
我已经尝试在服务器代码中设置process.env.MONGO_URL,但是当在客户端上执行某些操作时,它不会获取新值。
非常感谢任何帮助。
答案 0 :(得分:0)
Meteor在启动时会立即连接到Mongo(使用this code),因此对process.env.MONGO_URL
的任何更改都不会影响数据库连接。
听起来您正试图在多个域上运行一个Meteor服务器,并根据客户端的请求同时连接到多个数据库。使用传统的服务器端脚本语言可能会有这种情况,但Meteor无法实现这一点,因为服务器和数据库紧密相连,服务器在启动时基本上连接到一个主数据库。
* .meteor.com托管正在做类似于此的事情,未来Meteor的Galaxy商业产品将允许您这样做 - 所有这些都是通过为每个子域启动单独的Meteor服务器。