Wie kann ich Robomongo (oder einen anderen Mongodb-Client) mit der Mongodb-Instanz verbinden, die von meiner lokalen Meteor-Anwendung erstellt wird?
localhost
und Port 3001
ohne Authentifizierung für die Verbindung verwendet.
Wie kann ich Robomongo (oder einen anderen Mongodb-Client) mit der Mongodb-Instanz verbinden, die von meiner lokalen Meteor-Anwendung erstellt wird?
localhost
und Port 3001
ohne Authentifizierung für die Verbindung verwendet.
Antworten:
Stellen Sie sicher, dass Meteor auf localhost ausgeführt wird. Öffnen Sie ein Terminalfenster und führen Sie den meteor
Befehl aus. Es wird auf localhost: 3000 ausgeführt, wenn Sie nicht zum Port gewechselt haben.
Öffnen Sie während der Ausführung ein separates Terminalfenster und führen Sie den meteor mongo
Befehl aus. Dadurch wird eine MongoDB-Shell geöffnet und Sie erfahren, mit welchem Port eine Verbindung hergestellt wird. Dies ist normalerweise 3001 ab Version 0.7.1.1 oder 3002, wenn früher. Es wird so etwas sagen127.0.0.1:3001/meteor
Gehen Sie zu Robomongo (oder Ihrer bevorzugten Mongodb-Client-Software) und erstellen Sie eine neue Verbindung. Stellen Sie dabei sicher, dass Sie die Verbindungsadresse in localhost und die angegebene Portnummer ändern. Sie müssen / meteor nicht zusätzlich definieren, wenn Ihr Client nicht auf einer Standarddatenbank besteht.
Wie unter https://stackoverflow.com/a/22023284/1064151 ausgeführt, benötigen einige Treiber möglicherweise bestimmte Zeilenenden, Trennzeichen oder einen anderen Zeichenfluss. Zum Beispiel möchte ObjCMongoDB, ein C-basierter Treiber, dass die URL am Ende 127.0.0.1:3001/
mit diesem Extra versehen wird /
, oder es funktioniert nicht. Überprüfen Sie daher unbedingt die Dokumentation Ihres Treibers / Clients.
127.0.0.1:3002
wie du oben gesagt hast. Jetzt verstehe ich, dass der Port auf verschoben wurde, :3001
aber diese Adresse funktioniert immer noch nicht für mich. Hat sich auch der Datenbankname geändert? Um klarer zu sein, 127.0.0.1:3002
brauchte ich nach dem Herstellen einer Verbindung zu meinem lokalen Host auch meinen Datenbanknamen, d meteor.collection
. H. Hat sich dies auch mit dem Update geändert?
/
, ich denke 3001 ist genug, ich habe es getestet und es funktioniert gut für mich
Der einfachste Weg, um die aktuellen Konfigurationsdetails abzurufen, ist der folgende Befehl
meteor mongo -U
Dadurch erhalten Sie die Verbindungszeichenfolge
Führen Sie vom Terminal aus den folgenden Befehl aus
meteor mongo -U
Daraufhin wird die lokale Host-IP-Adresse und der Port angezeigt, auf dem Ihre Anwendung ausgeführt wird. Führen Sie nun den Robomongo aus und konfigurieren Sie die folgenden zwei Felder so, wie Sie sie durch Ausführen des vorherigen Befehls erhalten haben
Ich verwende ObjCMongoDB , einen C-basierten MongoDB-Treiber. Mit dem neuen Update, anstatt das vorherige 127.0.0.1:3002
zu verwenden, um eine Verbindung zu meinem lokalen Host herzustellen, auf dem meteor's mododb ausgeführt wird, muss ich jetzt 127.0.0.1:3001/
den Sammlungsnamen verwenden, der noch vorhanden ist meteor.collection
. Die wichtige Änderung ist der Port von :3002
nach :3001/
. Denken /
Sie daran , es ist wichtig für die Verbindung.
Verwenden Sie SSH-Tunneling mit dem folgenden Befehl:
ssh -L 3001:localhost:3001 user-name@host
Es leitet Verbindungen von Ihrem lokalen Port 3001 an localhost: 3001 auf Ihrem Server weiter. Jetzt können wir uns einfach mit unserer Datenbank verbinden.
Erstellen Sie eine Robomongo - Verbindung auf dem lokalen Host und schlug - Test (Out von zwei Schecks, kann Authentifizierung fehlschlagen):
@ imal365 Antwort ist perfekt. Nur um meinen Einblick hinzuzufügen:
Ich habe festgestellt, dass die Standard-Meteor Mongo-Portnummer die Portnummer der Anwendung ist, zu der 1 hinzugefügt wurde (ab Version 0.7.1.1). In meinem Fall habe ich Meteor im Hafen 1337
mit dem Befehl ausgeführt meteor --port 1337
und mein Meteor Mongo-Hafen war 1338
.