En aquesta secció, aprendrem els conceptes fonamentals de MongoDB, una base de dades NoSQL orientada a documents. MongoDB emmagatzema dades en documents semblants a JSON, que són flexibles i fàcils de treballar. A continuació, desglossarem els conceptes clau que necessites conèixer per començar a treballar amb MongoDB.
- Documents i Col·leccions
Documents
- Definició: Un document en MongoDB és una estructura de dades composta per parelles clau-valor. Els documents són semblants a objectes JSON.
- Exemple:
{ "nom": "Joan", "edat": 30, "ciutat": "Barcelona" } - Característiques:
- Flexible: Els documents poden tenir diferents estructures.
- Anidats: Els documents poden contenir altres documents.
Col·leccions
- Definició: Una col·lecció és un conjunt de documents. És l'equivalent a una taula en bases de dades SQL.
- Exemple: Una col·lecció
usuarispodria contenir documents com:{ "nom": "Joan", "edat": 30, "ciutat": "Barcelona" }{ "nom": "Maria", "edat": 25, "ciutat": "Madrid" }
- Bases de Dades
- Definició: Una base de dades en MongoDB és un contenidor de col·leccions. Cada base de dades té el seu conjunt de fitxers al sistema d'arxius.
- Exemple: Una base de dades
empresapodria contenir col·leccions comempleats,departaments, etc.
- Tipus de Dades
MongoDB suporta diversos tipus de dades, incloent:
- String: Cadena de text.
- Number: Nombres enters i decimals.
- Boolean:
trueofalse. - Array: Llistes de valors.
- Object: Documents anidats.
- Date: Dates i hores.
- ObjectId: Identificador únic per a documents.
Exemple de Document amb Diversos Tipus de Dades
{
"nom": "Joan",
"edat": 30,
"actiu": true,
"hobbies": ["lectura", "esport"],
"adreça": {
"carrer": "Carrer Major",
"ciutat": "Barcelona"
},
"data_registre": ISODate("2023-10-01T00:00:00Z")
}
- Operacions Bàsiques
Inserir Documents
- Comanda:
insertOneoinsertMany - Exemple:
db.usuaris.insertOne({ "nom": "Joan", "edat": 30, "ciutat": "Barcelona" });
Llegir Documents
- Comanda:
find - Exemple:
db.usuaris.find({ "ciutat": "Barcelona" });
Actualitzar Documents
- Comanda:
updateOneoupdateMany - Exemple:
db.usuaris.updateOne( { "nom": "Joan" }, { $set: { "edat": 31 } } );
Eliminar Documents
- Comanda:
deleteOneodeleteMany - Exemple:
db.usuaris.deleteOne({ "nom": "Joan" });
- Identificadors Únics (ObjectId)
- Definició: Cada document en MongoDB té un camp
_idque actua com a identificador únic. Si no es proporciona, MongoDB en genera un automàticament. - Exemple:
{ "_id": ObjectId("507f1f77bcf86cd799439011"), "nom": "Joan", "edat": 30, "ciutat": "Barcelona" }
Exercicis Pràctics
Exercici 1: Crear i Inserir Documents
- Crea una col·lecció anomenada
llibres. - Insereix els següents documents a la col·lecció
llibres:{ "títol": "El Quixot", "autor": "Miguel de Cervantes", "any": 1605 }{ "títol": "1984", "autor": "George Orwell", "any": 1949 }
Solució
db.llibres.insertMany([
{
"títol": "El Quixot",
"autor": "Miguel de Cervantes",
"any": 1605
},
{
"títol": "1984",
"autor": "George Orwell",
"any": 1949
}
]);Exercici 2: Llegir Documents
- Llegeix tots els documents de la col·lecció
llibres.
Solució
Exercici 3: Actualitzar Documents
- Actualitza l'any de publicació del llibre "1984" a 1950.
Solució
Exercici 4: Eliminar Documents
- Elimina el llibre "El Quixot" de la col·lecció
llibres.
Solució
Conclusió
En aquesta secció, hem après els conceptes bàsics de MongoDB, incloent documents, col·leccions, tipus de dades i operacions CRUD. Aquests fonaments són essencials per treballar amb MongoDB i construir aplicacions eficients. En el següent mòdul, explorarem les operacions CRUD amb més detall.
Curs de MongoDB
Mòdul 1: Introducció a MongoDB
Mòdul 2: Operacions CRUD a MongoDB
Mòdul 3: Modelatge de Dades a MongoDB
Mòdul 4: Indexació i Agregació
Mòdul 5: Funcions Avançades de MongoDB
Mòdul 6: Rendiment i Seguretat
- Optimització del Rendiment
- Còpia de Seguretat i Restauració
- Millors Pràctiques de Seguretat
- Monitorització i Alertes
