Docs Menu
Docs Home
/ /
Operaciones de escritura
/ / / / /

Operaciones de escritura masiva

A partir de la versión v2.6, MongoDB admite comandos de escritura masiva para operaciones de inserción, actualización y eliminación de una manera que permite que el controlador implemente la semántica correcta para BulkWriteResult y BulkWriteException.

Hay dos tipos de operaciones masivas: operaciones masivas ordenadas y no ordenadas:

  1. Las operaciones masivas ordenadas ejecutan todas las operaciones en orden y generan un error en el primer error de escritura.

  2. Las operaciones masivas no ordenadas ejecutan todas las operaciones e informan de cualquier error. No garantizan un orden de ejecución.

Importante

Esta guía utiliza las implementaciones Subscriber, que se describen en la Manual de inicio rápido.

El siguiente código proporciona ejemplos que utilizan operaciones ordenadas y no ordenadas:

// Ordered bulk operation - order is guaranteed
collection.bulkWrite(
Arrays.asList(new InsertOneModel<>(new Document("_id", 4)),
new InsertOneModel<>(new Document("_id", 5)),
new InsertOneModel<>(new Document("_id", 6)),
new UpdateOneModel<>(new Document("_id", 1),
new Document("$set", new Document("x", 2))),
new DeleteOneModel<>(new Document("_id", 2)),
new ReplaceOneModel<>(new Document("_id", 3),
new Document("_id", 3).append("x", 4))))
.subscribe(new ObservableSubscriber<BulkWriteResult>());
// Unordered bulk operation - no guarantee of order of operation
collection.bulkWrite(
Arrays.asList(new InsertOneModel<>(new Document("_id", 4)),
new InsertOneModel<>(new Document("_id", 5)),
new InsertOneModel<>(new Document("_id", 6)),
new UpdateOneModel<>(new Document("_id", 1),
new Document("$set", new Document("x", 2))),
new DeleteOneModel<>(new Document("_id", 2)),
new ReplaceOneModel<>(new Document("_id", 3),
new Document("_id", 3).append("x", 4))),
new BulkWriteOptions().ordered(false))
.subscribe(new ObservableSubscriber<BulkWriteResult>());

Volver

Operaciones de escritura