Actualizar

Cambia campos de uno o varios documentos con los operadores de actualización.

Cambia campos de uno o varios documentos con updateOne, updateMany o replaceOne. Los operadores de actualización y las actualizaciones con pipeline son los de MongoDB.

Requisitos

  • Una conexión con un usuario que tenga readWrite sobre la base.

Cambiar campos

JavaScript
db.pedidos.updateOne({ cliente: "Luis Gil" }, { $set: { estado: "pagado" }, $inc: { intentos: 1 } });

Cambiar varios documentos

JavaScript
db.pedidos.updateMany({ estado: "pendiente" }, { $set: { avisado: true } });

Insertar si no existe

JavaScript
db.contadores.updateOne({ _id: "visitas" }, { $inc: { valor: 1 } }, { upsert: true });

Comprobar

La respuesta trae matchedCount y modifiedCount. Con upsert, también trae upsertedId cuando la actualización insertó un documento nuevo.

Problemas frecuentes

  • La actualización falla con ConflictingUpdateOperators (40) porque dos operadores tocan la misma ruta.
  • Un contador que actualizan muchos clientes a la vez concentra la carga en el rango de ese documento.

Ver también