MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak w ReactiveMongo 0.18.8 mogę wykonać aktualizację kilku dokumentów o różnych wartościach w jednym poleceniu?

W dokumentacji możesz zobaczyć przykład operacji zbiorczych do wstawiania, aktualizowania lub usuwania.

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. Jak naprawić błąd MongoError:Nie można użyć zakończonej sesji

  2. Uruchamianie zaawansowanych zapytań MongoDB w języku R za pomocą rmongodb

  3. Jak uzyskać adres serwera, z którego pobierane są dane?

  4. Atomowość, izolacja i współbieżność w MongoDB

  5. Używanie MongoDB, Express, Node.Js i GridFS-stream do przechowywania plików wideo i zdjęć