我有一个对象Foo
,其中包含Bar
我使用 play-salat 插件从 MongoDb 获得的对象列表。模型看起来像这样。
case class Foo (
@Key("_id") id: ObjectId = new ObjectId,
bars: Option[List[Bar]] = None
)
case class Bar (
something: String
)
该视图应显示 foo 对象的列表。我通过这样的迭代器
@(foos: Iterator[Foo])
显示数据的模板部分如下所示:
@foos.map { foo =>
<div class="foo">@foo.id</div>
@if(foo.bars != None) {
<ul>
@for( bar <- bars ) {
<li>@bar.something</li>
}
</ul>
}
}
这样做,我得到一个 ClassCastException:
[ClassCastException: com.mongodb.BasicDBList cannot be cast to scala.collection.immutable.List]
我尝试了其他类似的变体
@for( i <- 0 to foo.bars.size - 1 ) {
<li>@foo.bars.get(i).something</li>
}
导致 ClassCastException 以及:
[ClassCastException: com.mongodb.BasicDBList cannot be cast to scala.collection.LinearSeqOptimized]
问题是,如何遍历 mongodb 对象列表?我猜/希望不需要某种传输对象。