2013-01-14 25 views
11

我想在使用meteor deploy部署Meteor應用程序時使用我自己的MongoHQ數據庫。 The documentation explains how to do this when deploying and running on a machine I control如何在部署Meteor應用程序時指定MongoHQ數據庫?

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

但文檔似乎對如何與meteor deploy做到這一點有點稀疏。可能嗎?

編輯:我嘗試以下http://docs.meteor.com/#meteor_settings,並增加了settings.json文件,並把它:

{"MONGO_URL" : "mongodb://user:[email protected]:10000/mydatabase"} 

然後用

meteor deploy myappname.meteor.com --settings settings.json

部署,但已部署的版本不看到正在使用我的數據庫

+0

您需要確定流星的網絡服務器在哪裏運行。 MongoHQ只能填充數據庫服務器的角色。我懷疑部署捆綁軟件不包含MONGO_URL,因此部署到Meteor基礎架構將不會使用MongoHQ數據庫。但你絕對應該問流星的開發者,並提出要求。 – mjhm

+0

我想部署它與「流星部署」,我認爲這部署到他們的服務器。但我想用我自己的MongoHQ實例來代替默認的實例。 – nickponline

+0

我添加了一個settings.json文件並將其放入:{「MONGO_URL」:「mongodb:// user:[email protected]:10000/mydatabase」}然後使用流星部署'deploy myappname.meteor.com --settings settings.json',但部署的版本不會使用我的數據庫。 – nickponline

回答

3

我最終部署到Heroku,而不是使用buildpack。然後我可以使用heroku配置來設置變量。

2

對代碼庫的快速掃描揭示了remote_collection_driver.js中的這一行:

Meteor._RemoteCollectionDriver = new Meteor._RemoteCollectionDriver(process.env.MONGO_URL);

我敢肯定,如果你黑客指出你想要它,它會工作。如果這太瘋狂了(例如,如果你計劃更新Meteor版本),你可以嘗試嘗試從你自己的代碼中儘早地改變Meteor._RemoteCollectionDriver或process.env.MONGO_URL(而不是直接攻擊Meteor的js) )。祝你好運。

相關問題