Найти все записи в коллекции - Play 2.3 плагин реактивного-монго

Я работаю над игрой 2.3 с реактивным плагином mongo play. Я хочу запросить базу данных, которая должна дать мне все записи.

Ниже я привел фрагмент. Следующая строка после комментария «НАЙТИ ВСЕ ТЕГИ» — это место, где я пытаюсь получить все метки. Я ищу что-то вроде эквивалентного метода findAll, например, в Spring Data JPA.

def tagCollection: JSONCollection = db.collection[JSONCollection]("tags")

def findTags = Action.async {
  // **FIND ALL THE TAGS**
  val cursor: Cursor[Tag] = tagCollection.find(Json.obj("name" -> )).cursor[Tag]

  val futureTagsList: Future[List[Tag]] = cursor.collect[List]()

  val futureTagsJsonArray: Future[JsArray] = futureTagsList.map {
    tags => Json.arr(tags)
  }
  futureTagsJsonArray.map {
    tags => Ok(tags(0))
  }

Также есть ли доступная библиотечная документация?


person Kaushik    schedule 14.03.2015    source источник


Ответы (1)


Чтобы получить все теги, вам просто нужно передать пустой запрос:

val cursor: Cursor[Tag] = tagCollection.find(Json.obj()).cursor[Tag]
person s4nk    schedule 15.03.2015
comment
Для Json.obj: не найден сериализатор Json в виде JsObject для типа play.api.libs.json.JsObject. Попробуйте реализовать неявный OWrites или OFormat для этого типа. - person pcejrowski; 21.02.2017