Escrituras masivas

Manda muchas escrituras de cualquier tipo en una sola petición.

Manda muchas escrituras en una sola petición con bulkWrite. Ahorra viajes de red cuando cargas o sincronizas muchos documentos.

Requisitos

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

Mandar un lote

JavaScript
db.pedidos.bulkWrite(
  [
    { insertOne: { document: { cliente: "Eva", total: 20 } } },
    { updateOne: { filter: { cliente: "Ana Ruiz" }, update: { $set: { vip: true } } } },
    { deleteMany: { filter: { estado: "cancelado" } } },
  ],
  { ordered: false },
);

Con ordered: true, el lote se detiene en el primer error; con false, sigue y devuelve todos los errores.

Comprobar

La respuesta trae cuántos documentos se insertaron y cuántos se actualizaron o se borraron. También trae los errores de cada operación.

Problemas frecuentes

  • El lote falla con InvalidLength (16) porque no lleva operaciones o lleva más de las que admite un lote.

Ver también