批量写入操作
批量操作有两种类型:有序和无序的批量操作
有序的批量操作按顺序执行所有操作,并在第一个写入错误时失败。
无序批量操作执行所有操作并报告任何错误。无序批量操作不保证执行顺序。
注意
本指南使用Observable
隐式函数,如《快速入门指南》中所述中所述.
以下代码提供了使用有序和无序操作的示例
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()