Corso
Hai scelto MongoDB come database ideale per la tua applicazione, ma non sai bene come mettere in piedi il tuo database. Sei nel posto giusto, e la buona notizia è che ci vuole meno di un minuto.
Qui si dà per scontato che tu abbia già un cluster MongoDB Atlas, MongoDB Community Edition o MongoDB Enterprise Edition distribuito.
Per questo esempio useremo la MongoDB Shell, ma tutto si traduce negli altri strumenti e linguaggi di programmazione con minime differenze. Puoi anche dare un'occhiata a questo breve video esplicativo su come creare un database nella tua istanza MongoDB.
Dopo esserti connesso al cluster, puoi eseguire qualcosa del genere:
use("dbinc");
Nell'esempio sopra, "dbinc" è il database che vogliamo usare. Tuttavia, la funzione use cambia solo il contesto. Non crea realmente un database.
A differenza di altri strumenti per database, MongoDB crea un database solo quando archivia i dati. Questo può avvenire quando crei una collection o il tuo primo documento.
Per esempio, considera quanto segue:
use("dbinc");
db.createCollection("employees");
I comandi sopra creerebbero un database "dbinc" con una collection "employees". Va però sottolineato che non è necessario creare esplicitamente una collection prima di creare documenti.
Puoi verificare che il database sia stato creato eseguendo il seguente comando:
show dbs
Per variare un po', considera questo esempio:
use("dbinc");
db.employees.insertMany([
{ "name": "Nic Raboy", "title": "Master of Shenanigans", "salary": 50000, "last_raise_date": new Date("2013-06-01") },
{ "name": "Megan Grant", "title": "Word Wrangler", "salary": 125000, "last_raise_date": new Date("2020-12-01") },
{ "name": "Tony Kim", "title": "Alliance Czar", "salary": 80000, "last_raise_date": new Date("2025-02-01") },
]);
Nell'esempio sopra, "dbinc" è il nostro database e "employees" è la nostra collection, ma se nessuno dei due esiste, entrambi verranno creati quando inseriamo i dati. Se uno dei due esiste già, va bene lo stesso. Aggiungeremo semplicemente i nostri nuovi documenti.
Anche se è fuori dallo scopo di questo articolo, vale la pena notare che MongoDB creerà un valore _id se non ne specifichi uno. Non c'è bisogno di preoccuparsi delle definizioni di chiave primaria.
Ci sono alcuni errori comuni a cui dovresti prestare attenzione quando lavori con i database in MongoDB.
- Non dare per scontato che
use(“db_name”)crei un database, perché non lo fa. Ricorda: prima devi creare una collection o aggiungere dati. - Se hai un refuso nel nome del database o della collection, non riceverai un avviso. Al contrario, potrebbe essere creato un nuovo database o una nuova collection, proprio come nell'esempio precedente.
- Fai attenzione alla distinzione tra maiuscole e minuscole nel nome del database e della collection.
Se eviti le insidie comuni sopra, creare e lavorare con i database in MongoDB sarà una passeggiata.
Conclusione
Creare database in MongoDB non è un compito difficile e non è qualcosa di cui preoccuparsi prima di lavorare con i tuoi dati, dato che i database in MongoDB vengono creati solo quando vengono create le collection—o, nella maggior parte dei casi, i documenti.
Hai bisogno di un esempio più completo con più strumenti? Scopri tutti i dettagli su come creare un database MongoDB sul blog di MongoDB.
Se lavori nella data science o in un ruolo simile, dai un'occhiata al corso Introduction to MongoDB in Python.
FAQ
Puoi creare un database MongoDB senza usare la shell?
Sì, puoi creare un database MongoDB usando strumenti come MongoDB Compass, in modo programmatico tramite linguaggi come Python o JavaScript, o tramite API come Mongoose.
Quando MongoDB crea effettivamente un database?
MongoDB crea un database solo quando vengono inseriti dei dati—o creando una collection o inserendo un documento.
È necessario creare esplicitamente una collection prima di inserire documenti?
No, MongoDB creerà automaticamente sia il database sia la collection quando inserisci il primo documento.
Cosa succede se sbaglio a digitare il nome di un database o di una collection in MongoDB?
MongoDB creerà silenziosamente un nuovo database o una nuova collection con il nome errato, il che può causare confusione o problemi ai dati.
MongoDB fa distinzione tra maiuscole e minuscole per i nomi di database e collection?
Sì, i nomi di database e collection in MongoDB sono case-sensitive, quindi “Employees” ed “employees” sono considerati diversi.
Come posso verificare se il mio database MongoDB è stato creato correttamente?
Usa il comando show dbs dopo aver inserito i dati per vedere l'elenco dei database, inclusi quelli appena creati.
Puoi eliminare un database MongoDB una volta creato?
Sì, puoi eliminare un database MongoDB usando il comando db.dropDatabase() nella shell.
Hai bisogno di un account MongoDB Atlas per seguire questi passaggi?
No, lo stesso procedimento funziona con le edizioni Community o Enterprise di MongoDB installate in locale.
Qual è il ruolo del campo _id nei documenti MongoDB?
MongoDB crea automaticamente un campo _id univoco per ogni documento, che funge da chiave primaria a meno che tu non ne specifichi una tua.
Esistono strumenti per visualizzare i database MongoDB?
Sì, strumenti come MongoDB Compass e GUI di terze parti come Robo 3T ti permettono di visualizzare e gestire facilmente i tuoi database.

Nic Raboy è un Responsabile Developer Relations presso MongoDB, dove guida un team di sviluppatori Python, Java, C# e PHP che creano contenuti straordinari per aiutare gli sviluppatori a integrare con successo MongoDB nei loro progetti. Ha esperienza con Golang e JavaScript e spesso scrive delle sue molte avventure nello sviluppo.

