MongoDB: Erste Schritte

Wie man mit MongoDB beginnt

Um eine Verbindung zu Ihrer MongoDB-Instanz mit dem Mongo CLI herzustellen, können Sie diesen Befehl verwenden:

mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true

Wenn Sie sich beispielsweise als admin-Benutzer mit der admin-Datenbank verbinden möchten, könnten Sie folgenden Befehl ausführen:

mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true

Falls das Mongo CLI nicht auf Ihrem System installiert ist, können Sie es von der offiziellen MongoDB-Dokumentation herunterladen. Alternativ, wenn Docker auf Ihrem System verfügbar ist, könnte dieser Befehl hilfreich sein:

docker run -it mongo /bin/bash

Um die Sicherheit zu verbessern und eine bessere Organisation zu gewährleisten, ist es ratsam, für jede Datenbank eindeutige Benutzer zu erstellen. Hier ist ein Beispielskript zum Erstellen eines neuen Benutzers:

db.getSiblingDB("myDatabase")
  .createUser({
    user: "myUser",
    pwd: "myPassword",
    roles: [ { role: "readWrite", db: "myDatabase" } ],
    passwordDigestor: "server"
  });

Das obige Skript erstellt einen Benutzer namens myUser mit dem Passwort myPassword und gewährt ihm Lese- und Schreibrechte für die myDatabase-Datenbank.

Stellen Sie sicher, dass Sie als admin-Benutzer verbunden sind, wenn Sie Benutzererstellungsoperationen durchführen.

Um einen Benutzer, wie myUser, aus der myDatabase-Datenbank zu entfernen, können Sie den folgenden Befehl ausführen:

db.getSiblingDB("myDatabase").dropUser("myUser");

Um Ihre MongoDB-Daten zu sichern, können Sie den folgenden Befehl verwenden:

mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Wenn Sie auf einen Fehler wie diesen stoßen:

authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>

Dies könnte daran liegen, dass der admin-Benutzer nicht für die angegebene Datenbank registriert ist. Das Hinzufügen der Option --authenticationDatabase=admin könnte das Problem lösen:

mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Für eine komprimierte Sicherung können Sie die Option --gzip hinzufügen:

mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Dieser Fehler kann auftreten, wenn versucht wird, einen Benutzer über die Admin Mongo UI zu erstellen. Um dies zu vermeiden, verwenden Sie die in der Erstellen von Datenbanken und Benutzern in MongoDB bereitgestellte Mongo-Abfrage.

Hinweis: Die Admin Mongo UI unterstützt keine direkte Abfrageausführung. Stattdessen könnten Sie in Erwägung ziehen, das Mongo CLI (mehr erfahren) oder ein GUI-Tool wie Robo 3T (Konfigurationsanleitung anzeigen) zu verwenden.