MongoDB - 合并两个DBObject

时间:2011-10-10 13:48:25

标签: java mongodb dbobject

我正在编写一个模型工厂,我使用JSON来加载像这样的MongoDB DBObject:

import com.mongodb.util.JSON;
DBObject dbObject = (DBObject) JSON.parse("{'name':'jack', 'age':30}");

现在,我正在尝试分解我的JSON文件,以便我可以使用一个JSON文件加载DBObject,如果需要,我可以使用另一个JSON文件扩充DBObject。

虽然听起来很奇怪,但想象一下有一组不同类型的用户。比如,BasicUser,AdvancedUser等。我可以有一个JSON文件来加载BasicUser,并将AdvancedUser的其他非重叠细节放在另一个JSON文件中。我可以使AdvancedUser扩展BasicUser,因此我可以组合两个JSON文件的内容来创建AdvancedUser模型。

我怎么能达到这样的目标?

2 个答案:

答案 0 :(得分:5)

我相信putAll就是你想要的。

DBObject obj1 = (DBObject) JSON.parse("{'name':'jack', 'age':30}");
DBObject obj2 = (DBObject) JSON.parse("{'role':'admin'}");
obj1.putAll(obj2);
System.out.println(obj1.toString()); //{ "name" : "jack" , "age" : 30 , "role" : "admin"}

答案 1 :(得分:0)

我决定推出自己的函数,通过递归遍历一个DBObject并将内容传递给另一个来实现。