我是新手,
假设我有Collection“UserData
”并且UserData中有1000个文档。
现在我需要再添加一个名为“position
”的字段。
我可以这样做,怎么做?或者它是如何工作的?
查看维基Morphia但找不到任何内容
答案 0 :(得分:2)
如果UserData
看起来像,
@Entity
UserData{
@Id
private ObjectId id;
private String name;
private int age;
}
并且您已在此Collection中添加了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的强大功能,您可以根据需要扩展数据结构。
答案 1 :(得分:1)
基本上,是的,你可以。这有影响,但远远低于使用传统的ORM。
使用Morphia,如果持久化对象具有未设置的实例变量,则它不包含在mongo中的记录中。因此,为mongo添加另一个实例变量非常简单,可以追溯映射旧记录 - 他们只是获得null
该变量(根据我的经验)。
现在,如果您的应用程序现在绝对依赖于位置,您将不得不更新这1000条记录,但总的来说,根据我的经验,您可以添加实例变量,它只是工作,这很容易。
答案 2 :(得分:0)
也许这个页面可以帮助您解决问题。 http://code.google.com/p/morphia/wiki/Updating