Я использую Scala Salat для перемещения объектов в моем проекте с использованием MongoDB.
Вот мои занятия:
case class MyObject(
name: String,
metaInfos: Map[String, List[MetaInfo]]
)
case class MetaInfo(
timestamp: Int,
text: String
)
Итак, в Mongo metaInfos выглядит так:
"metaInfos" : {
"info1" : [
{
"timestamp" : 123,
"text" : "some_text"
},
{
"timestamp" : 321,
"text" : "other_text"
}
],
"info2": [...]
}
Когда я пытаюсь получить значения MetaInfo, возникает эта ошибка:
Произошла ошибка сервера: scala.collection.immutable.Map $ Map2 не может быть
приведение к моделям. MetaInfo
Поэтому, когда я попытался распечатать его, я обнаружил, что я не получил List[MetaInfo]
в качестве значений, я получил List[Map2]
объектов.
Таким образом, элементы списка выглядят как Map(timestamp -> 123, text -> "some_text")
Нет ошибок компиляции, все нормально, пока я не попытаюсь получить значения из моей metaInfos
карты.
Есть ли способ справиться с этим без изменения способа хранения данных?
Он отлично работает с типом Map [String, Object], но по какой-то причине не может обрабатывать списки объектов.