Update en MongoDB

Cómo realizar operaciones de actualización UPDATE en MongoDB utilizando el shell de MongoDB (mongosh).

  • Actualizar un documento específico.
  • Utilizar updateOne() para actualizar un documento.
  • Insertar un documento si no se encuentra.
  • Utilizar updateMany() para actualizar varios documentos a la vez.

Actualizar un documento específico con updateOne()

La operación updateOne() te permite actualizar un solo documento que cumple con ciertos criterios. Por ejemplo, supongamos que tienes una colección de «usuarios» y deseas actualizar la edad de un usuario específico cuyo nombre es «Ejemplo».

db.tu_coleccion.updateOne(
  { nombre: "Ejemplo" },
  { $set: { edad: 35 } }
)

En este caso, updateOne() busca un documento con el campo «nombre» igual a «Ejemplo» y actualiza su campo «edad» a 35 utilizando el operador $set.


Insertar un documento si no se encuentra

Si deseas actualizar un documento, pero si no se encuentra, insertarlo, puedes utilizar la opción upsert: true con updateOne(). Por ejemplo, si deseas actualizar la dirección de correo electrónico de un usuario por su nombre y, si no se encuentra, insertar un nuevo usuario:

// Actualizar un documento en la colección
db.tu_coleccion.updateOne(
  { nombre: "Ejemplo" },
  { $set: { email: "[email protected]" } },
  { upsert: true

Con upsert: true, si no se encuentra un documento con el nombre "Ejemplo", se creará un nuevo documento con el nombre, la edad y la dirección de correo electrónico proporcionados.


Actualizar varios documentos con updateMany()

Para actualizar varios documentos que cumplan con un conjunto de criterios, puedes utilizar la función updateMany(). Por ejemplo, si deseas aumentar la edad en 1 de todos los usuarios cuya edad sea menor de 30:

db.tu_coleccion.updateMany(
  { edad: { $lt: 30 } },  // Filtro: Edad menor de 30
  { $inc: { edad: 1 } }    // Incrementa la edad en 1
)

Este comando busca todos los documentos que tengan una edad menor de 30 y aumenta la edad en 1 unidad.

Esos son los pasos básicos para realizar operaciones de actualización en MongoDB utilizando el shell de MongoDB (mongosh). Asegúrate de ajustar los nombres de la base de datos y la colección, así como los criterios de búsqueda y las actualizaciones, según tus necesidades específicas. Las operaciones de actualización son esenciales para mantener tus datos actualizados en MongoDB.