sql >> Databasteknik >  >> NoSQL >> MongoDB

Få returvärdet för reactivemongo findAndUpdate-funktionen

Prova detta:

case class Person(name: String, count: Int)

object Helpers { 
  def increaseCount(collection: BSONCollection): Future[Option[Int]] = {
    import collection.BatchCommands.FindAndModifyCommand.FindAndModifyResult
    implicit val reader = Macros.reader[Person]

    val resultFut: Future[FindAndModifyResult] = collection.findAndUpdate(
      BSONDocument("name" -> "James"),
      BSONDocument("$inc" -> BSONDocument("count" -> 1)),
      fetchNewObject = true,
      upsert = true
    )

    val updatedCountOpt = resultFut.map { r =>
      r.result[Person].map { p =>
        p.count
      }
    }

    updatedCountOpt
  }
}



  1. Hur man trunkerar ett tal till 3 decimaler

  2. Använder inbyggda ES6-löften med MongoDB

  3. Hur man ställer in featureCompatibilityVersion i MongoDB

  4. MongoDB deleteMany()