sql >> データベース >  >> NoSQL >> MongoDB

ReactiveMongo 0.18.8では、1つのコマンドで、値が異なる複数のドキュメントの更新を実行するにはどうすればよいですか?

    ドキュメント 挿入、更新、または削除する一括操作の例を見ることができます。

    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) }
    }
    



    1. クエリ内のすべてのドキュメントのサイズを取得します

    2. TLSを使用したRedisSentinels

    3. bsonスペックの例のより良い説明?

    4. 配列要素をフィルタリングする方法