0

我不知道应该如何使用 play-reactivemongo's JSONFindAndModifyCommand

我需要通过某个字段进行更新插入查询。所以我可以先删除任何现有条目,然后再插入。但谷歌表示 FindAndModify 命令可以upsert: Boolean选择实现相同的结果。

假设我有两个play.api.libs.json.JsObjects:查询和对象。

val q = (k: String) => Json.obj("sha256" -> k)

val obj = (k: String, v: String) => Json.obj(
    "sha256" -> k,
    "value" -> v
)

然后我做:

db.collection.findAndModify(
    q(someSha256),
    what?!,
    ...
)

我使用 play2-reactivemongo 0.11.9

谢谢!

4

1 回答 1

0

更简单的是使用集合操作findAndUpdatefindAndRemove,例如

val person: Future[BSONDocument] = collection.findAndUpdate( BSONDocument("name" -> "James"), BSONDocument("$set" -> BSONDocument("age" -> 17)), fetchNewObject = true) // on success, return the update document: // { "age": 17 }
于 2016-02-09T21:34:19.763 回答