我正在尝试在查询上实现 Count 但我遇到了问题,因为我不使用 BSONDocument 而是使用 JsObject 对象。
https://github.com/ReactiveMongo/ReactiveMongo/blob/master/driver/samples/SimpleUseCasesSample.scala
我应该将我的 JsObject 翻译成 BSONDocument 还是有更好的方法?你会如何在 ReactiveMongo 0.9 中做到这一点?
我正在尝试在查询上实现 Count 但我遇到了问题,因为我不使用 BSONDocument 而是使用 JsObject 对象。
https://github.com/ReactiveMongo/ReactiveMongo/blob/master/driver/samples/SimpleUseCasesSample.scala
我应该将我的 JsObject 翻译成 BSONDocument 还是有更好的方法?你会如何在 ReactiveMongo 0.9 中做到这一点?
翻译示例:
服务:
def countSentMailForVenue(currentId: Long, from: DateTime, to: DateTime) : Future[Int] = {
val query = Json.obj("venueInfo.currentId" -> venueId, "origin" -> Origin.EMAIL_INVITE, "updated" -> Json.obj("$gte" -> from.getMillis, "$lt" -> to.getMillis))
count(BSONFormats.toBSON(query).get.asInstanceOf[BSONDocument])
}
在道:
/**
* Currently Count() only supports BSONDocument.
*/
def count(query: BSONDocument) : Future[Int] = {
Logger.debug(s"Counting documents: "+BSONFormats.toJSON(query))
val futureCount = collection.db.command(
Count(
collection.name,
Some(query)
)
)
futureCount
}