如何使用Play的JSON库在ReactiveMongo中使用查询计算文档?

时间:2016-05-19 12:38:56

标签: mongodb scala reactivemongo play-reactivemongo

我们认为我的收藏集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))抛出了编译错误,因为reactive mongo提供的方法count需要类型Option[pack.Document]。知道如何解决这个问题吗?

如果重要的话,我正在使用Reactive Mongo版本0.11.11。

1 个答案:

答案 0 :(得分:4)

如上所述,当Option是BSON序列化时,它需要pack.Document BSONDocumentpackusing Play JSONJsObject users.count(Some(Json.obj("age" -> age))) }。

iteritems()