让我们考虑一下我有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))
抛出编译错误,因为反应性mongo提供的方法count
期望类型为Option[pack.Document]
。知道如何解决这个问题吗?
如果重要的话,我正在使用Reactive Mongo版本0.11.11。
如上所述,它预计Option
的pack.Document
,当BSONDocument
是BSON序列化时的pack
,或JsObject
时的using Play JSON。
users.count(Some(Json.obj("age" -> age)))