Как я должен использовать JSONFindAndModifyCommand?
Я понятия не имею, как я должен использовать play-реактивный монго JSONFindAndModifyCommand
,
Мне нужно сделать запрос upsert по некоторому полю. Поэтому я могу сначала удалить любую существующую запись, а затем вставить. Но Google говорит, что команда FindAndModify имеет upsert: Boolean
Возможность добиться того же результата.
Предположим, у меня есть два play.api.libs.json.JsObject
s: запрос и объект.
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-реактивный монго 0.11.9
Спасибо!
1 ответ
Проще использовать операции сбора findAndUpdate
или же findAndRemove
например,
val person: Future[BSONDocument] = collection.findAndUpdate( BSONDocument("name" -> "James"), BSONDocument("$set" -> BSONDocument("age" -> 17)), fetchNewObject = true) // on success, return the update document: // { "age": 17 }