Menu Docs
Página inicial do Docs
/ / /
Driver de fluxos reativos do Java
/ /

Operações de gravação em massa

A partir de v2.6, O MongoDB suporta comandos de gravação em massa para operações de inserção, atualização e exclusão de uma forma que permite ao driver implementar a semântica correta para BulkWriteResult e BulkWriteException.

Existem dois tipos de operações em massa, operações em massa ordenadas e não ordenadas:

  1. As operações em massa ordenadas executam todas as operações em ordem e erro no primeiro erro de escrita.

  2. As operações em massa não ordenadas executam todas as operações e relatam todos os erros. Operações em massa não ordenadas não garantem uma ordem de execução.

Importante

Este guia usa as implementações do Subscriber , que são descritas noPrimário de início rápidodo .

O seguinte código fornece exemplos utilizando operações ordenadas e não 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>());

Voltar

Operações de Escrita