$and in reactive mongo with play framework 2.6

$and in reactive mongo with play framework 2.6

我正在将 play framework v2.6 与 scala 一起使用,我正在使用 reactivemongo 作为 mongodb 的驱动程序,我的问题是我不知道如何检索值介于两个 [=] 之间的对象20=] 我的例子我有这种情况 class :

case class Card (id : String, creationDate: Date)

我想检索创建日期介于两个日期之间的卡片,所以我使用了这个查询:

val query = BSONDocument(
         "$and" -> BSONDocument(
         "creationDate" -> Json.obj("$gte" ->startDate),
         "creationDate" -> Json.obj("$lte" ->endDate))
         )

但这会输出以下错误:

A server error occurred DatabaseException['Can't canonicalize query:       
BadValue and needs an array' (code = 17287)]

根据 mongo documentation$and 运算符需要一个数组:

val query = BSONDocument(
  "$and" -> BSONArray(List(
    BSONDocument("creationDate" -> Json.obj("$gte" ->startDate)),
    BSONDocument("creationDate" -> Json.obj("$lte" ->endDate))
  ))
)