批量写入操作
批量操作有两种类型:有序批量操作和无序批量操作:
有序批量操作按顺序执行所有操作,并在出现第一个写入错误时出错。
无序批量操作执行所有操作并报告任何错误。 无序批量操作不保证执行顺序。
注意
本指南使用 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()