2013-01-14 6 views
11

Ich möchte meine eigene MongoHQ-Datenbank verwenden, wenn ich eine Meteor-App mit meteor deploy verwende. The documentation explains how to do this when deploying and running on a machine I control:Wie spezifiziere ich eine MongoHQ-Datenbank bei der Bereitstellung der Meteor App?

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

Aber die Dokumentation scheint ein wenig spärlich, wie dies zu tun mit meteor deploy. Ist es möglich?

EDIT: Ich habe versucht, folgende http://docs.meteor.com/#meteor_settings und fügte hinzu, in eine settings.json Datei und setzen:

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

dann zum Einsatz mit

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

aber die eingesetzte Version nicht gesehen Verwenden Sie meine Datenbank

+0

Sie müssen entscheiden, wo der Webserver für Meteor laufen wird. MongoHQ kann nur die Rolle eines DB Servers ausfüllen. Ich vermute, dass der Deploy-Bundler nicht die MONGO_URL enthält, daher wird die Bereitstellung in der Meteor-Infrastruktur die MongoHQ-Datenbank nicht verwenden. Aber Sie sollten unbedingt die Meteor-Entwickler fragen und eine Anfrage stellen. – mjhm

+0

Ich möchte es mit "Meteor Deploy" bereitstellen, die ich denke, dass sie auf ihren Server verteilt. Aber ich möchte meine eigene Instanz von MongoHQ anstelle der Standardversion verwenden. – nickponline

+0

Ich habe eine Datei "settings.json" hinzugefügt und sie eingefügt: {"MONGO_URL": "mongodb: // user: [email protected]: 10000/mydatabase"} und dann mit meteor 'deploy myappname.meteor.com --settings bereitgestellt settings.json', aber die bereitgestellte Version verwendet meine Datenbank nicht. – nickponline

Antwort

3

Ich landete schließlich auf Heroku mit der buildpack. Dann könnte ich die Variablen mit den Heroku-Konfigurationen festlegen.

2

Ein kurzer Scan der Codebasis zeigt diese Zeile in remote_collection_driver.js:

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

Ich bin sicher, wenn Sie das gehackt haben, wo Sie es wollten, würde es funktionieren. Wenn das zu viel von einem Kluge ist (zum Beispiel, wenn Sie Meteor-Versionen jemals aktualisieren wollen), könnten Sie versuchen, Meteor._RemoteCollectionDriver oder process.env.MONGO_URL früh genug zu ändern, aus Ihrem eigenen Code (ohne direkt in Meteor's js zu hacken)). Viel Glück.

Verwandte Themen