Docs 菜单
Docs 主页
/ / /
Scala
/ /

批量写入操作

批量操作有两种类型:有序批量操作和无序批量操作:

  1. 有序批量操作按顺序执行所有操作,并在出现第一个写入错误时出错。

  2. 无序批量操作执行所有操作并报告任何错误。 无序批量操作不保证执行顺序。

注意

本指南使用 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()

后退

写入操作