En aquest tema, aprendrem com actualitzar documents a MongoDB. Les operacions d'actualització són essencials per mantenir les dades actualitzades i correctes. MongoDB proporciona diverses maneres d'actualitzar documents, incloent actualitzacions simples, actualitzacions múltiples i actualitzacions condicionals.

Conceptes Clau

  1. Operació d'Actualització: Modificar un o més documents en una col·lecció.
  2. Operadors d'Actualització: Utilitzats per especificar com s'han de modificar els documents.
  3. Actualització Simple vs. Múltiple: Actualitzar un sol document o múltiples documents que compleixin un criteri.
  4. Actualització Condicional: Actualitzar documents basats en una condició específica.

Operadors d'Actualització

Els operadors d'actualització són claus per especificar com s'han de modificar els documents. Alguns dels operadors més comuns són:

  • $set: Estableix el valor d'un camp.
  • $unset: Elimina un camp.
  • $inc: Incrementa el valor d'un camp numèric.
  • $push: Afegeix un element a un array.
  • $pull: Elimina elements d'un array que compleixin una condició.

Exemples Pràctics

Exemple 1: Utilitzant $set

Suposem que tenim una col·lecció usuaris amb el següent document:

{
  "_id": 1,
  "nom": "Joan",
  "edat": 30,
  "ciutat": "Barcelona"
}

Volem actualitzar la ciutat de Joan a "Madrid". Utilitzarem l'operador $set:

db.usuaris.updateOne(
  { _id: 1 },
  { $set: { ciutat: "Madrid" } }
);

Exemple 2: Utilitzant $inc

Incrementem l'edat de Joan en 1 any:

db.usuaris.updateOne(
  { _id: 1 },
  { $inc: { edat: 1 } }
);

Exemple 3: Utilitzant $unset

Eliminem el camp ciutat del document de Joan:

db.usuaris.updateOne(
  { _id: 1 },
  { $unset: { ciutat: "" } }
);

Exemple 4: Utilitzant $push

Afegeix un nou hobby a l'array hobbies de Joan:

db.usuaris.updateOne(
  { _id: 1 },
  { $push: { hobbies: "ciclisme" } }
);

Exemple 5: Utilitzant $pull

Elimina un hobby específic de l'array hobbies de Joan:

db.usuaris.updateOne(
  { _id: 1 },
  { $pull: { hobbies: "ciclisme" } }
);

Exercicis Pràctics

Exercici 1

Actualitza el document amb _id: 2 per establir el camp nom a "Maria" i incrementar l'edat en 2 anys.

db.usuaris.updateOne(
  { _id: 2 },
  { $set: { nom: "Maria" }, $inc: { edat: 2 } }
);

Exercici 2

Elimina el camp adreça del document amb _id: 3.

db.usuaris.updateOne(
  { _id: 3 },
  { $unset: { adreça: "" } }
);

Exercici 3

Afegeix "lectura" a l'array hobbies del document amb _id: 4.

db.usuaris.updateOne(
  { _id: 4 },
  { $push: { hobbies: "lectura" } }
);

Exercici 4

Elimina "futbol" de l'array hobbies del document amb _id: 5.

db.usuaris.updateOne(
  { _id: 5 },
  { $pull: { hobbies: "futbol" } }
);

Resum

En aquesta secció, hem après com actualitzar documents a MongoDB utilitzant diversos operadors d'actualització com $set, $inc, $unset, $push i $pull. També hem vist exemples pràctics i hem practicat amb exercicis per reforçar els conceptes apresos. Amb aquestes habilitats, podem mantenir les nostres dades actualitzades i correctes de manera eficient.

© Copyright 2024. Tots els drets reservats