fix changing marks

pull/5854/head
Thibault Duplessis 2019-12-31 12:57:04 -05:00
parent bd931f9d83
commit 37e68058ef
2 changed files with 3 additions and 4 deletions

View File

@ -199,9 +199,8 @@ trait dsl {
def $pull(item: ElementProducer): Bdoc =
$doc("$pull" -> $doc(item))
def $addOrPull[T: BSONWriter](item: T, add: Boolean): Bdoc =
if (add) $doc("$addToSet" -> item)
else $doc("$pull" -> item)
def $addOrPull[T: BSONWriter](key: String, value: T, add: Boolean): Bdoc =
$doc((if (add) "$addToSet" else "$pull") -> $doc(key -> value))
// End ofTop Level Array Update Operators
//**********************************************************************************************//

View File

@ -316,7 +316,7 @@ final class UserRepo(val coll: Coll)(implicit ec: scala.concurrent.ExecutionCont
}
private def setMark(mark: UserMark)(id: ID, v: Boolean): Funit =
coll.updateField($id(id), F.marks, $addOrPull(mark, v)).void
coll.update.one($id(id), $addOrPull(F.marks, mark, v)).void
def setEngine = setMark(UserMark.Engine) _
def setBoost = setMark(UserMark.Boost) _