Как посчитать документы с запросом в 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)))
Другие вопросы по тегам