MongoDB: Aan de slag
Hoe te beginnen met MongoDB
Verbinden met uw MongoDB-server
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
Databases en gebruikers maken in MongoDB
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
adminbent verbonden bij het uitvoeren van gebruikerscreatie-operaties.
Een gebruiker verwijderen in MongoDB
Om een gebruiker, zoals myUser, uit de database myDatabase te verwijderen, kunt u de volgende opdracht uitvoeren:
db.getSiblingDB("myDatabase").dropUser("myUser");
Back-up van MongoDB-gegevens
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"
Problemen oplossen
De fout Use of SCRAM-SHA-256 requires undigested passwords oplossen
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).