【发布时间】:2011-09-17 23:28:49
【问题描述】:
我在 scala-salat Google 小组中问过这个问题,但几天没有回复,因此在这里尝试。
我有一个案例类,它有一个包含在 Option 中的集合。
case class SomeClass(
var name:Option[String]=None,
var addresses:Option[Set[Address]]=None
)
case class Address(
var street:Option[String]=None,
var zip:Option[String]=None
)
文档很好地存储在 Mongo 中。但是,当我尝试使用findOne(有或没有SalatDAO)来获取此信息时,地址字段具有表示地址的JSON 文本,而不是地址案例类。
因此,Lift-JSON 会跳过我的案例类中包含 Option[Collection[A]] 的所有字段。当我删除Option 并使用addresses=Set[Address]() 时,它可以工作。但是,现在我的 JSON 中没有数据的结果是空集,如果消费者删除了条目,我无法找到更新,或者我得到一个空的 Set,因为消费者没有发送原始请求中的此字段。
使用Option 会将字段设置为None,这意味着我不必担心它会为空或被修改。
任何帮助将不胜感激。
【问题讨论】:
标签: scala mongodb salat lift-json