MongoDB: Iniziare
Come iniziare con MongoDB
Connessione al server MongoDB
Per stabilire una connessione alla tua istanza MongoDB utilizzando la Mongo CLI, puoi usare questo comando:
mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true
Ad esempio, se desideri connetterti come utente admin al database admin, potresti eseguire:
mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true
Se la Mongo CLI non è installata sul tuo sistema, puoi scaricarla dalla documentazione ufficiale di MongoDB. In alternativa, se Docker è disponibile sul tuo sistema, potresti trovare utile questo comando:
docker run -it mongo /bin/bash
Creazione di database e utenti in MongoDB
Per migliorare la sicurezza e garantire una migliore organizzazione, è consigliabile creare utenti unici per ogni database. Ecco un esempio di script per creare un nuovo utente:
db.getSiblingDB("myDatabase")
.createUser({
user: "myUser",
pwd: "myPassword",
roles: [ { role: "readWrite", db: "myDatabase" } ],
passwordDigestor: "server"
});
Lo script sopra crea un utente chiamato myUser con la password myPassword, e gli concede permessi di lettura e scrittura per il database myDatabase.
Assicurati di essere connesso come utente
admindurante le operazioni di creazione degli utenti.
Rimozione di un utente in MongoDB
Per rimuovere un utente, come myUser, dal database myDatabase, puoi eseguire il seguente comando:
db.getSiblingDB("myDatabase").dropUser("myUser");
Backup dei dati MongoDB
Per eseguire il backup dei tuoi dati MongoDB, puoi utilizzare il seguente comando:
mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Se incontri un errore come questo:
authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>
Potrebbe essere dovuto al fatto che l'utente admin non è registrato per il database specificato. Aggiungere l'opzione --authenticationDatabase=admin potrebbe risolvere il problema:
mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Per un backup compresso, puoi includere l'opzione --gzip:
mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Risoluzione dei problemi
Risoluzione dell'errore Use of SCRAM-SHA-256 requires undigested passwords
Questo errore potrebbe verificarsi quando si tenta di creare un utente tramite l'interfaccia Admin Mongo UI. Per evitare ciò, utilizza la query Mongo fornita nella sezione creazione di database e utenti in MongoDB.
Nota: L'interfaccia Admin Mongo UI non supporta l'esecuzione diretta delle query. In alternativa, potresti considerare di utilizzare la Mongo CLI (scopri di più) o uno strumento GUI come Robo 3T (vedi la guida alla configurazione).