【发布时间】:2014-09-12 10:42:22
【问题描述】:
我需要将图像字符串更新为对象,我的旧代码是:
斯卡拉:
case class Property (
id: ObjectId = new ObjectId,
image: String,
description: String
)
蒙哥:
{
"_id": ObjectId("5412b438e864b9afc27dcd43"),
"_t": "models.Property",
"image": "http: \/\/img.com\/8i0\/v1jj24e5by8nz4dy2bh6nnespw1i",
"description": "image"
}
现在我的更新是:
斯卡拉:
case class Image (
imageUrl: String,
isHosted: Boolean,
imageThumbUrl: String,
imageMediumUrl: String
)
case class Property (
id: ObjectId = new ObjectId,
image: Image,
description: String
)
但是当我这样做时,我得到 [例外:类模型。属性需要“图像”的值] 这是由于旧的数据库结构,是否有一种查询方式可以将旧数据转换为新结构或 我应该添加什么代码来适应新的结构变化?请帮助,在此先感谢。
【问题讨论】:
-
这不是因为你的旧数据库结构。 MongoDB is schemaless,两个文档可以有完全不同的结构。问题出在代码中的某个地方。
-
嗨@MarkusWMahlberg 感谢您的回复。但是当我的 db 属性集合为空时,此代码有效。
-
再一次,MongoDB 不强制执行文档结构。甚至没有这样的机制。
-
@MarkusWMahlberg 再次感谢回复,在这种情况下,您知道我应该做什么代码调整吗?再次感谢
-
您很可能需要调试,因为我假设您检查了明显的内容。
标签: mongodb scala playframework