Как прочитать примитивный тип из базы данных с помощью ReactiveMongo?

Следующий фрагмент кода:

        def getInitState(): Future[String] = states.flatMap {
    _.find(
      selector   = Json.obj("init" -> true),
      projection = Some(Json.obj("name" -> 1))
    ).requireOne[String]
  }

вызывает ошибку компиляции:could not find implicit value for parameter reader: reactivemongo.api.bson.BSONDocumentReader[String]указывая на[String]тип параметраrequireOne. Вероятно, следует отметить, что я использую модуль ReactiveMongo Play и reactivemongo-play-json-compat, оба версии 1.1.0-play28-RC11. Первый вопрос: может ли ReactiveMongo возвращать примитивные типы из запросов? Если да, то как мне это сделать?

Использование объектов Play Json в качестве параметров вfindтакже выдает предупреждения типаvalue jsObjectWrites in trait LowPriorityPackageCompat is deprecated. Рассматриваемое значение выглядит следующим образом:

      private[json] trait LowPriorityPackageCompat {

  @deprecated("Will be removed when provided by Play-JSON itself", "0.20.6")
  implicit final val jsObjectWrites: OWrites[JsObject] =
    OWrites[JsObject](identity)
}

и я не использую его напрямую, поэтому думаю, что разработчикам ReactiveMongo следует беспокоиться об этом. Второй вопрос: прав ли я? Если нет, то объясните, как это исправить.

Кроме того, меня очень расстраивает качество официального документа ReactiveMongo. Третий вопрос: есть ли лучший документ?

0 ответов

Другие вопросы по тегам