MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Di ReactiveMongo 0.18.8, bagaimana saya bisa melakukan pembaruan beberapa dokumen, dengan nilai yang berbeda, dalam satu perintah?

Dalam dokumentasi Anda dapat melihat contoh operasi massal untuk menyisipkan, memperbarui, atau menghapus.

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menanyakan dokumen bersarang MongoDB dengan benar dengan python?

  2. Mongoose tidak membaca dari database sekunder Mongo

  3. Cara Mengganti Dokumen yang Ada Saat Mengimpor File ke MongoDB

  4. Cara memfilter berdasarkan rentang bulan dan tahun di Mongodb

  5. Groupby di MongoTemplate mengembalikan bidang kosong