MongoDB: Aan de slag

Hoe te beginnen met MongoDB

Om een verbinding te maken met uw MongoDB-instantie met behulp van de Mongo CLI, kunt u deze opdracht gebruiken:

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

Als u bijvoorbeeld als de gebruiker admin wilt verbinden met de database admin, kunt u het volgende uitvoeren:

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

Als de Mongo CLI niet op uw systeem is geïnstalleerd, kunt u deze downloaden van de officiële MongoDB-documentatie. Als alternatief, als Docker beschikbaar is op uw systeem, kunt u deze opdracht nuttig vinden:

docker run -it mongo /bin/bash

Om de beveiliging te verbeteren en een betere organisatie te garanderen, is het raadzaam unieke gebruikers voor elke database te maken. Hier is een voorbeeldscript voor het maken van een nieuwe gebruiker:

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

Het bovenstaande script maakt een gebruiker genaamd myUser met het wachtwoord myPassword, en verleent hen lees- en schrijfrechten voor de database myDatabase.

waarschuwing Zorg ervoor dat u als de gebruiker admin bent verbonden bij het uitvoeren van gebruikerscreatie-operaties.

Om een gebruiker, zoals myUser, uit de database myDatabase te verwijderen, kunt u de volgende opdracht uitvoeren:

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

Om een back-up van uw MongoDB-gegevens te maken, kunt u de volgende opdracht gebruiken:

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

Als u een fout tegenkomt zoals deze:

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

Dit kan komen doordat de gebruiker admin niet is geregistreerd voor de opgegeven database. Het toevoegen van de optie --authenticationDatabase=admin kan het probleem oplossen:

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

Voor een gecomprimeerde back-up kunt u de optie --gzip opnemen:

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

Deze fout kan optreden bij het proberen een gebruiker te maken via de Admin Mongo UI. Om dit te voorkomen, gebruikt u de Mongo-query die wordt verstrekt in de sectie databases en gebruikers maken in MongoDB.

Opmerking: De Admin Mongo UI ondersteunt geen directe query-uitvoering. In plaats daarvan kunt u overwegen de Mongo CLI te gebruiken (meer informatie) of een GUI-tool zoals Robo 3T (bekijk de configuratiegids).