Ist es möglich, nur die Mongo Shell zu installieren?

16

Ich habe Docker installiert und starte einen MongoDBContainer für meine lokale Entwicklung auf meinem Mac. Das Problem ist, dass ich über die CLI keine Verbindung zu dieser Datenbank herstellen kann. Ich habe Robo 3T installiert, würde aber lieber den CLIClient verwenden.

Gibt es eine bekannte Möglichkeit, NUR den mongo shell(Befehl mongo) und nicht die gesamte DB-Distribution unter OS X zu installieren ?

CodeChimp
quelle
Ich glaube nicht, weil "Die Mongo-Shell ist eine interaktive JavaScript-Schnittstelle zu MongoDB".
Md Haidar Ali Khan

Antworten:

9

Sie können HomeBrew verwenden, siehe die offizielle MongoDB HomeBrew- Seite.

Füge einfach den Wasserhahn hinzu:

brew tap mongodb/brew

Nachdem Sie den Wasserhahn von oben hinzugefügt haben, können Sie die Mongo-Shell wie folgt installieren:

brew install mongodb-community-shell
user2507288
quelle
9

Sie können die neueste Mongo Shell für MacOS von der folgenden URL herunterladen:

https://downloads.mongodb.org/osx/mongodb-shell-osx-ssl-x86_64-3.6.2.tgz

Zur Vervollständigung ist die Mongo Shell für Windows unter https://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.6.2-signed.msi verfügbar

Außerdem empfehle ich Ihnen, für andere Linux-Distributionen unter www.mongodb.com/atlas einen MongoDB Atlas-Cluster (z. B. einen kostenlosen M0-Cluster) zu erstellen, in dem Sie die Mongo Shell-Downloads für alle Betriebssysteme im Dialogfeld "Verbinden" Ihres Computers finden Cluster.

Ich hoffe das hilft.

Raphael Londner
quelle
Die Betriebssystemumgebung von OP ist Mac-os-x. Wie er "Mongo Shell" in dieser Umgebung installieren wird. Und wie wird dort der Default Port 27017 eingestellt.
Md Haidar Ali Khan
@MdHaidarAliKhan Der MacOS-Tarball-Link (tgz) in dieser Antwort ist der in der Frage angeforderte Mindestdownload: Ein Download von ~ 10 MB, der nur die mongo3.6.2-Shell-Binärdatei und die zugehörigen Lizenzhinweise enthält . Es gibt wirklich keinen Installationsschritt außer dem Entpacken der tgz-Datei (Doppelklick zum Öffnen) und dem Ausführen bin/mongo, um eine Verbindung zu einer vorhandenen MongoDB-Bereitstellung mit den entsprechenden Verbindungsparametern herzustellen. Eine Alternative wäre, die vollständige MacOS-Distribution (~ 90 MB) herunterzuladen und nur den bin/mongoBefehl auszuführen . Das würde mongodumpbei Bedarf andere Tools wie verfügbar lassen.
Stennie
Danke Rahael. Sehr nützliche Antwort. Genau das, wonach ich gesucht habe.
Jannie Theunissen
@Md Haidar Ali Khan muss den Port nicht einstellen, 27017 ist die Standardeinstellung. Sie müssen es nur einstellen, wenn der Server anders ist.
McKenzm
1

Ich denke nicht, dass Sie in MacOS ohne Installation von MongoDB eine Verbindung herstellen können mongo shell. So installieren Sie MongoDB Community Editionauf macOS System installieren MongoDB Community Edition auf macOS Sie herunterladen können MongoDB Community Edition entweder durch die MongoDB Download Center oder dem beliebten macOS Paket - Manager Homebrew .

As The Mongo Shell ist eine interaktive JavaScript-Schnittstelle zu MongoDB.

Hinweis: Stellen Sie sicher, dass ausgeführt MongoDBwird, bevor Sie versuchen, die mongoShell zu starten .

Für Ihren weiteren Hinweis hier und hier

Md Haidar Ali Khan
quelle
0

Ich verstehe, dass auf Docker Mongo ausgeführt wird. Um dies zu umgehen, können Sie denselben ausgeführten Container verwenden, um eine Verbindung herzustellen:

docker exec -ti $container_name bash
bash-4.2$ mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3

Idealerweise können Sie eine Verbindung mit nur einem Befehl herstellen, aber ich weiß nicht, warum ein Anruf von außen fehlschlägt:

# this fail but you can use with other databases
docker exec -ti $container_name mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE

Die Idee ist einfach: Mongo ist auf dem Container installiert, sodass Sie Docker anweisen, aus dem Container heraus zu rennen. Wenn Sie Dateien von außerhalb laden müssen, können Sie immer ein Volume bereitstellen.

Carlos Verdes
quelle