Come creare un database o una collection in MongoDB
MongoDB non fornisce alcun comando per creare un database. E infatti, in realtà non c’è bisogno di crearlo manualmente, perchè lo stesso MongoDB si occuperà di crearlo al volo, quando si salva per la prima volta un dato in una collection definita.
Per chi viene dal più classico SQL, quel che si fa solitamente è creare un database, poi una tabella, e poi iniziare a popolarla. In MongoDB, non si ha bisogno di menzionare ciò che si andrà a creare, la prima volta che si salverà il valore nella collection (table), sotto un db selezionato, MongoDB creerà la tupla, la collezione e il database automaticamente.
Nota bene, MongoDB fornisce il metodo
db.createCollection()
per creare una collezione manualmente, ma non un database.
In questa guida, mostriamo come e quando MongoDB creerà il database e le collezioni.
1. Mostriamo tutti i database
Il comando per vedere tutti i DB presenti sul nostro server MongoDB è il seguente:
show dbs
Che darà risultati simili a questo:
MongoDB shell version: 1.8.1 connecting to: test > show dbs admin 0.03126GB local (empty) |
in cui si vede come gli unici due database disponibili siano ‘admin’ e ‘local’.
2. Definiamo un nome per il database
Usiamo il comando use mio_database
per passare dal database di default al database che si vuol definire. Tuttavia, MongoDB ancora non andrà a creare alcun database, finchè non ci si mette qualcosa dentro, infatti:
> use mio_database switched to db mio_database > show dbs admin 0.03126GB local (empty) |
NB. Il database mio_database non appare ancora.
3. Salviamolo
Definiamo una collezione chiamata utenti, e salviamoci un qualunque documento all’interno.
> db.utenti.save( {username:"megatron"} ) > db.utenti.find() { "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "megatron" } > > show dbs admin 0.03126GB local (empty) mio_database 0.03126GB |
Questo si traduce in: Salva il documento(valore) {username: "megatron"}
nella collezione ‘utenti’. Quando questa operazione di salvataggio verrà completata, MongoDB creerà la collezione utenti, e il database mio_database automaticamente.
Commenti