sql >> Database teknologi >  >> NoSQL >> MongoDB

Få returværdien af ​​reactivemongo findAndUpdate-funktionen

Prøv dette:

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. Hvordan bruger man $arrayElemAt og fjerner felter fra det element i MongoDB $projection?

  2. Mongodb lås samling indtil flag er sat?

  3. Mongodb Aggregation rammegruppe og sortering

  4. Yii Emongodokumenter nærforespørgsler, der ignorerer maxDistance