如何使用 Play 的 JSON 库在 ReactiveMongo 中计算带有查询的文档?
How to count documents with query in ReactiveMongo with Play's JSON library?
假设我有一个集合 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。
如前所述,当 pack
是 BSON 序列化时,它期望 Option
为 pack.Document
,也就是 BSONDocument
,或者 JsObject
当 using Play JSON.
users.count(Some(Json.obj("age" -> age)))
假设我有一个集合 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。
如前所述,当 pack
是 BSON 序列化时,它期望 Option
为 pack.Document
,也就是 BSONDocument
,或者 JsObject
当 using Play JSON.
users.count(Some(Json.obj("age" -> age)))