我是新手,
假设我有集合“ UserData
”并且 UserData 中有 1000 个文档。
现在我需要再添加一个名为“ position
”的字段。
我可以这样做吗,怎么做?或者它是如何工作的?
查看维基Morphia但找不到任何东西
如果UserData
看起来像,
@Entity
UserData{
@Id
private ObjectId id;
private String name;
private int age;
}
并且您在此集合中添加了 1000 个文档。
现在,您需要一个名为 的字段position
,
就这样做,
@Entity
UserData{
@Id
private ObjectId id;
private String name;
private int age;
private String position;//Add the field like this.
}
在旧的 1000 个文档中,位置的值将是null
.
它是 mongo 的强大功能,您可以随时扩展数据结构。
基本上,是的,你可以。有一些影响,但比使用传统的 ORM 要少得多。
使用 Morphia,如果您的持久对象具有未设置的实例变量,则它不会包含在 mongo 的记录中。因此,添加另一个实例变量对于 mongo 追溯映射旧记录非常简单——他们只是获取null
该变量(根据我的经验)。
现在,如果您的应用程序现在完全依赖于 Position,您将不得不更新这 1000 条记录,但根据我的经验,通常您可以添加实例变量,它就可以工作,就这么简单。
也许此页面可以帮助您解决问题。http://code.google.com/p/morphia/wiki/Updating