Operações de gravação em massa
Existem dois tipos de operações em massa, operações em massa ordenadas e não ordenadas:
As operações em massa ordenadas executam todas as operações em ordem e erro no primeiro erro de escrita.
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.
Observação
Este guia usa as implicações implícitas de Observable
, conforme abordadas no Quick Start Primary.
O seguinte código fornece exemplos utilizando operações ordenadas e não ordenadas:
import org.mongodb.scala._ import org.mongodb.scala.model._ // Ordered bulk operation - order is guaranteed collection.bulkWrite( List(InsertOneModel(Document("_id" -> 4)), InsertOneModel(Document("_id" -> 5)), InsertOneModel(Document("_id" -> 6)), UpdateOneModel(Document("_id" -> 1), Document("$set", Document("x" -> 2))), DeleteOneModel(Document("_id" -> 2)), ReplaceOneModel(Document("_id"-> 3), Document("_id" -> 3, "x" -> 4))) ).printResults() // Unordered bulk operation - no guarantee of order of operation collection.bulkWrite( List(InsertOneModel(Document("_id" -> 4)), InsertOneModel(Document("_id" -> 5)), InsertOneModel(Document("_id" -> 6)), UpdateOneModel(Document("_id" -> 1), Document("$set", Document("x" -> 2))), DeleteOneModel(Document("_id" -> 2)), ReplaceOneModel(Document("_id"-> 3), Document("_id" -> 3, "x" -> 4))), BulkWriteOptions().ordered(false) ).printResults()