MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

В ReactiveMongo 0.18.8, как мога да извърша актуализация на няколко документа с различни стойности в една команда?

В документацията можете да видите пример за групови операции за вмъкване, актуализиране или изтриване.

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. Mongoose не запазва вложен обект

  2. Използване на MongoDB за съхраняване на неизменни данни?

  3. Усъвършенстване на изкуството за автоматизиране и управление на най-популярните бази данни с отворен код:2017 @ Severalnines

  4. В Mongoose Model.find() и Model.find().exec() дават същия резултат. Така че защо да си правите труда да използвате Model.find().exec()?

  5. MongoDB:няма памет