Update en MongoDB

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

MongoDB almacena documentos JSON flexibles. Esta operación encaja en el flujo consultar → filtrar → transformar → agregar que verás en el tutorial completo.

Prueba en el editor y adapta los campos del documento a tu caso de uso.

  • 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".

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:

Ejemplo

    // Actualizar un documento en la colección
db.tu_coleccion.updateOne(
  { nombre: "Ejemplo" },
  { $set: { email: "nuevo@example.com" } },
  { 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:

Ejemplo

    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.