$ и в реактивном монго с игровой рамкой 2.6 - PullRequest
0 голосов
/ 15 мая 2018

Я использую Play Framework v2.6 со Scala, я использую реактивный Mongo в качестве драйвера для mongodb, моя проблема в том, что я не знаю, как получить объекты, значения которых находятся между двумя значениями. В моем примере этоcase case:

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)]

1 Ответ

0 голосов
/ 16 мая 2018

Согласно документации mongo оператору $and требуется массив:

val query = BSONDocument(
  "$and" -> BSONArray(List(
    BSONDocument("creationDate" -> Json.obj("$gte" ->startDate)),
    BSONDocument("creationDate" -> Json.obj("$lte" ->endDate))
  ))
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...