2.4. Començar a treballar amb el SGBD MongoDB
A la màquina virtual proporcionada per la UOC tenim instal·lat un SGBD MongoDB.
Per connectar-nos al servidor de MongoDB obrim un terminal, hi escrivim mongosh
i ens sortirà el cursor >
Ja estem connectats al servidor amb el client de la línia d’ordres i ja podrem escriure les ordres i sentències per interactuar amb el servidor de MongoDB.
Per visualitzar les bases de dades creades:
show dbs
Com que encara no hem creat cap base de dades, només ens mostra les bases de dades del sistema.
Per crear una nova base de dades buida fem servir l’ordre use
.
Vam crear la base de dades uoc.
use uoc
L’ordre use serveix tant per crear una base de dades nova com per connectar-se a una base de dades existent. L’ordre intenta connectar-se a una base de dades existent i si no existeix la crea.
Aquesta és una característica general de MongoDB, és molt flexible i dona pocs errors. En altres sistemes de gestió de bases de dades com MySQL, en intentar connectar amb una base de dades inexistent saltaria un error. A MongoDB no salta error i es crea la nova base de dades. En realitat, no la crea, guarda espai per crear-hi col·leccions de documents. Si creem una nova base de dades amb l’ordre use i no creem col·leccions en ella, no queda emmagatzemada.
Veiem en aquesta seqüència d’ordres com consultem les bases de dades existents en el sistema amb show dbs
, creem la base de dades uoc amb use uoc
, i com quan tornem a consultar les bases de dades amb show dbs
no apareix la base de dades uoc.
Ara crearem una nova col·lecció buida a la base de dades uoc utilitzant la instrucció createCollection()
.
Tornem a connectar-nos a la base de dades uoc amb use uoc
i creem la col·lecció de documents buida anomenada chr1.
Si us hi fixeu, primer executem la instrucció o funció db.createCollection(chr1);
però dona error perquè el paràmetre que espera la funció no està entre cometes simples: “chr1”.
En escriure el paràmetre entre cometes simples db.createCollection("chr1");
la nova col·lecció anomenada chr1 es crea correctament a la base de dades uoc, que ja no està buida, i en executar show dbs
ja ens mostra la base de dades uoc.
Analitzarem la instrucció db.createCollection(“chr1”);
i ens servirà per entendre com funcionen les instriccions a MongoDB. Com que ja som a la base de dades uoc, amb la part de la instrucció db.....
es refereix a la base de dades que estem fent servir, i a continuació la instrucció createCollection()
que en realitat és una funció que pot fer servir paràmetres entre parèntesis.
Com ja veurem, la majoria d’instruccions són funcions que poden fer servir o no paràmetres. Si la instrucció no necessita paràmetres deixarem els parèntesis buits ().
Anem a veure algunes ordres útils de MongoDB:
db.help()
Mostra l’ayuda per als mètodes de la base de dades.db.<collection>.help()
Mostra l’ajuda per als mètodes de la col·lecció. La <collection> pot ser el nom d’una col·lecció ja creada o encara no creada.Show db
Mostra la llista de totes les bases de dades del sistema.use db
Canvia la base de dades actual a la base de dades.show collections
Mostra la llista de totes les col·leccions de la base de dades actual.show users
Mostra la llista de tots els usuaris de la base de dades actual.show databases
Nou a partir de la versió 2.4. Mostra la llista de totes les bases de dades disponibles.db.<collection>.find()
Mostra tots els documents de la col·lecció <collection>.db.<collection>.find().pretty()
Mostra tots els documents de la col·lecció <collection> en un format JSON més llegible.
Per veure les col·leccions creades a la base de dades fem servir la instrucció següent:
show collections