Mongodb 在ReactiveMongo 0.18.8中,如何在一个命令中使用不同的值对多个文档执行更新?

Mongodb 在ReactiveMongo 0.18.8中,如何在一个命令中使用不同的值对多个文档执行更新?,mongodb,scala,reactivemongo,Mongodb,Scala,Reactivemongo,我在挖的时候发现了这么多 基本上,这正是我需要的。但是,在我当前版本的ReactiveMongo(0.18.8)中,db.command(RawCommand(commandDoc))似乎不再可能了。DB下没有“命令”。我似乎找不到这个命令的位置 有人能帮我吗?或者告诉我如何实现我所需要的 我正试图在一个DB命令中对几个具有不同值的文档执行几个更新 谢谢 在中,您可以看到要插入、更新或删除的批量操作的示例 import scala.concurrent.Future import scala.c

我在挖的时候发现了这么多

基本上,这正是我需要的。但是,在我当前版本的ReactiveMongo(0.18.8)中,
db.command(RawCommand(commandDoc))
似乎不再可能了。DB下没有“命令”。我似乎找不到这个命令的位置

有人能帮我吗?或者告诉我如何实现我所需要的

我正试图在一个DB命令中对几个具有不同值的文档执行几个更新

谢谢

在中,您可以看到要插入、更新或删除的批量操作的示例

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global

import reactivemongo.api.bson.BSONDocument

import reactivemongo.api.bson.collection.BSONCollection

def updateWithBulk(personColl: BSONCollection) = {
  // Bulk update: multiple update
  val updateBuilder1 = personColl.update(ordered = true)
  val updates = Future.sequence(Seq(
    updateBuilder1.element(
      q = BSONDocument("firstName" -> "Jane", "lastName" -> "Doh"),
      u = BSONDocument("age" -> 18),
      upsert = true,
      multi = false),
    updateBuilder1.element(
      q = BSONDocument("firstName" -> "Bob"),
      u = BSONDocument("age" -> 19),
      upsert = false,
      multi = true)))

  updates.flatMap { ops => updateBuilder1.many(ops) }
}
还要注意的是,0.18.8版大约有一年的历史,最新版本是主要的1.0.0版

在中,您可以看到要插入、更新或删除的批量操作的示例

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global

import reactivemongo.api.bson.BSONDocument

import reactivemongo.api.bson.collection.BSONCollection

def updateWithBulk(personColl: BSONCollection) = {
  // Bulk update: multiple update
  val updateBuilder1 = personColl.update(ordered = true)
  val updates = Future.sequence(Seq(
    updateBuilder1.element(
      q = BSONDocument("firstName" -> "Jane", "lastName" -> "Doh"),
      u = BSONDocument("age" -> 18),
      upsert = true,
      multi = false),
    updateBuilder1.element(
      q = BSONDocument("firstName" -> "Bob"),
      u = BSONDocument("age" -> 19),
      upsert = false,
      multi = true)))

  updates.flatMap { ops => updateBuilder1.many(ops) }
}
还要注意的是,0.18.8版大约有一年的历史,最新版本是主要的1.0.0版