0

假设我正在尝试从mongoDB输出嵌入字段(使用Play Framework 2.6 - 在 JSON 中)。典型的文档如下所示:

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

在reactiveMongo中使用聚合框架中的$unwind,所以我有这个:

  def getAggregate(col: JSONCollection) = {

    import col.BatchCommands.AggregationFramework.{UnwindField}

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

  }

我有一个案例类,我使用 Play 自动映射到 mongoDB 文档

   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(errors:List((/myField,List(JsonValidationError(List(error.path.missing),WrappedArray())))))]

我已经经历了一堆类似的问题,但没有一个是为了从 mongoDB 文档映射的目的,所以我不能完全正确。任何指针?谢谢!

4

0 回答 0