1

我正在使用 lift-mongodb-record 2.4 来管理 RESTful JSON Web 服务的 MongoRecords。一切都很好,除了我遇到的一个问题:嵌入式 BsonRecordListFields 不会自动保存。

这是我的测试 JSON:

{"name":"test","control_points":[{"dx":64,"dy":97},{"dx":358,"dy":64},{"dx":211,"dy":80.5}]}

但是通过打印模型println(Artifact.fromJSON(request.body).get)只会打印

class com.test.model.Artifact={name=test, control_points=}

这些是我的模型类:

class ControlPoint private () extends BsonRecord[ControlPoint] {
  def meta = ControlPoint
  object dx extends DoubleField(this)
  object dy extends DoubleField(this)
}

object ControlPoint extends ControlPoint with BsonMetaRecord[ControlPoint]

class Artifact private () extends MongoRecord[Artifact] with ObjectIdPk[Artifact] {
  def meta = Artifact
  object name extends StringField(this, 1024)
  object control_points extends BsonRecordListField(this,ControlPoint)
}
object Artifact extends Artifact with MongoMetaRecord[Artifact] {}

为什么嵌入的东西没有保存?我在这里想念什么吗?

多谢!马丁

4

1 回答 1

1

正如电梯邮件列表中指出的那样,lift-json 将数字解析为整数,因为它们没有小数点。我只是通过客户端将字段更改为IntField并将所有日期解析为整数。parseInt

于 2012-07-17T10:04:35.720 回答