我正在使用lift-mongodb-record 2.4来管理RESTo 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] {}
为什么嵌入的东西没有保存?我在这里想念什么吗?
非常感谢! 马丁
答案 0 :(得分:1)
正如lift mailing list lift-json所指出的那样,将数字解析为整数,因为它们没有小数点。我刚刚将字段更改为IntField
,并在客户端通过parseInt
将所有日期解析为整数。