Ошибка выполнения при отображении из внедренного документа MongoDB

Предположим, я пытаюсь вывести встроенное поле из mongoDB (используя Play Framework 2.6 - в JSON). Типичный документ выглядит так:

   _id : ObjectId("66bc9c788c788cafdb053a23"),
   name : "Name game"
   myFieldArr : [
     {
        fieldName : "A playing field"
        fieldGroup: "Landscape"
        numOfGroup: 22
     },
     ...
   ]

Я использую $unwind из Aggregation Framework в реактивном Монго, поэтому у меня есть это:

  def getAggregate(col: JSONCollection) = {

    import col.BatchCommands.AggregationFramework.{UnwindField}

    col.aggregate(UnwindField("myFieldArr")).map(_.head[MyAggregate])

  }

У меня есть класс дел, который я автоматически сопоставляю с документами mongoDB с помощью Play:

   case class MyField(fieldName: String, fieldGroup: String, numOfGroup: Int) {

   case class MyAggregate(_id: Option[BSONObjectID], name: String, myField: MyField) {
     def idAsBsonId = _id.get
     def idAsString = idAsBsonId.stringify
   }

Но я продолжаю получать эту ошибку:

[JsResultException: JsResultException (ошибки:List((/myField,List(JsonValidationError(List(error.path.missing),WrappedArray())))))]

Я прошел через кучу похожих вопросов, но ни один из них не был предназначен для сопоставления из документа mongoDB, поэтому я не совсем понял это правильно. Есть указатели? Спасибо!

0 ответов

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