2016-08-02 7 views
5

Ich möchte herausfinden, wie Sie eine Verbindung zu einer externen MongoDB-Instanz in Meteor herstellen.Wie verbinde ich mich mit einer externen MongoDB-Instanz in Meteor?

Ich habe diese Umgebung hinzugefügt

Meteor.startup(function() { 
process.env.MONGO_URL = 'mongodb://[UN]:PW]@[host]:[port]/meteorTest' 
}); 

aber immer noch die Daten aus der lokalen Datenbank kommen.

Ich möchte alle Sammlungen von meiner lokalen Datenbank zu dieser externen Datenbank verschieben. Ich lese alle Tutorials, alles sagt mir, dass ich diese Variable einstellen soll, aber nichts funktioniert wirklich. Wie prüfe ich ob es angeschlossen ist oder nicht?

+0

[link] (http://basvdijk.com/meteo-with-external-mongodb/) - Siehe den angegebenen Link, hoffe, Sie können Ihre Antwort finden – Sampad

+0

Ich habe dies bereits gelesen..aber konnte nicht Irgendetwas auszumachen, wo ich die Codezeile in das Terminal oder in das Meteor-Startup einfügen muss? wenn ich das beim start hinzufügen werfen sie erros, wenn ich das im terminal hinzufügen zeigt es export ist kein befehl –

+0

versuche es in terminal – Sampad

Antwort

15

In meiner eigenen Erfahrung; Ich musste die Umgebungsvariable einstellen, bevor ich die Meteorjs Server App starte. Dazu müssen Sie die Umgebungsvariable in der Befehlszeile übergeben, wenn Sie Meteor aufrufen oder die Umgebung für das Profil festlegen, auf dem die Meteor-App auf Ihrem System ausgeführt wird.

So würden Sie Ihre App mit dieser Art von einem Befehl starten:

MONGO_URL='mongodb://user:[email protected]:12345/' meteor 

Sie sollten auch sicherstellen, dass die mongodb erreichbar ist und dass Ihre Benutzerdaten korrekt sind! Ich gehe davon aus, dass Sie versuchen, Meteor auf Ihrem lokalen Rechner mit einer Remote-Mongodb-Instanz laufen zu lassen.

Auf Windows

Sie eine Batch-Datei in Ihrem Meteor Bewerbungsmappe erstellen müssen, um die Umgebungsvariable aufzurufen. Es ist ein Beispiel für diese hier: https://stackoverflow.com/a/29833177/1997579

+0

es wirft diesen Fehler in der Klemme 'MONGO_URL' wird nicht als interner oder externer Befehl erkannt, ausführbare Programm oder Batch-Datei. –

+0

Sie sind also auf einer Windows-Maschine? Wenn ja, sehen Sie bitte diese Antwort: http://stackoverflow.com/a/29833177/1997579 – Katalyst

+0

Ich habe eine .bat-Datei mit dem Namen 'startup.bat' erstellt, aber immer noch, wenn ich MONGO_URL = 'mongodb: // user laufen lasse : [email protected]: 12345/'meteor es wirft den gleichen Fehler –

0

Lauf in Eingabeaufforderung:

"MONGO_URL=mongodb://<USER>:<PASSWORD>@<SERVER>:<PORT>/<DB> meteor" 

oder diese URL speichert in run.sh Datei im Projektordner und führt Meteor

3

ich nicht Ich mag es, einen großen Wiederholungsbefehl zu verwenden, und ich suchte nach einer Lösung, bei der ich jedes Mal, wenn ich meine Meteor-App starte, eine eingebettete Variable festlegen werde. MONGO_URL wird automatisch auf die Umgebung gesetzt. Also das, was ich tat:

In der package.json Datei ersetzt ich den Startparameter wie folgt:

"scripts": { 
    "start": "MONGO_URL=mongodb://username:[email protected]_url:portnumber/dbname meteor run" 
    }, 

Nun jedes Mal, wenn ich möchte, dass mein App laufen; Ich renne npm start anstelle von meteor oder meteor run

Hinweis: Es gibt einen Nachteil damit. Ihre Datenbankanmeldeinformationen werden offengelegt, wenn Sie Ihre Datenbankanmeldeinformationen in die Datei package.json schreiben und diese Datei der Versionskontrolle hinzufügen.

Verwandte Themen