MongoDB: Iniziare

Come iniziare con 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

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 admin durante le operazioni di creazione degli utenti.

Per rimuovere un utente, come myUser, dal database myDatabase, puoi eseguire il seguente comando:

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

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"

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).