Как посчитать документы с запросом в ReactiveMongo с помощью библиотеки JSON от Play?
Давайте рассмотрим, у меня есть коллекция users
которые имеют age
приписывать. Теперь я хочу посчитать либо все документы в коллекции users
или только те, которые соответствуют age
приписывать. Итак, я сделал следующее:
def count(age: Option[Int] = None) = {
if (age.isEmpty) roles.count()
else users.count(Json.obj("age" -> age))
}
Проблема в том, что users.count(Json.obj("age" -> age))
выдает ошибку компиляции, потому что метод count
обеспеченный реактивным Монго ожидает тип Option[pack.Document]
, Любая идея, как я могу это исправить?
Я использую Reactive Mongo версии 0.11.11, если это имеет значение.
1 ответ
Решение
Как сказано, он ожидает Option
из pack.Document
ака BSONDocument
когда pack
является ли сериализация BSON одной, или JsObject
при использовании Play JSON.
users.count(Some(Json.obj("age" -> age)))