是否可以使用json对象为Mongo java填充其他字段?

时间:2012-06-20 03:49:50

标签: java mongodb mongo-java

我知道有一个BasicDBObject允许你去:

BasicDBObject info = new BasicDBObject();

info.put("x", 203);
info.put("y", 102);

我遇到的问题是该值只能是原始类型。 我有一个json对象,我想存储我无法修改的常见数据,但想在单个mongo文档中描述json对象。我可以做些什么来做类似的事情:

BasicDBObject info = new BasicDBObject();
info.put("Name", "John");
info.put("Main Hobby", "Hiking");
info.put("Albums", json-string-with-nested-arrays);

总结一下,我正在寻找一种方法来允许我在同一文档中存储除了键值对之外的json对象(假设我拥有的“json-string-with-nested-arrays”是不可修改,所以我不能在其中插入其他属性。)我怎样才能实现这个目标?

下面是json-string-with-nested-arrays:

{"data":[{"stuff":[
    {"onetype":[
        {"id":1,"name":"John Doe"},
        {"id":2,"name":"Don Joeh"}
    ]},
    {"othertype":[
        {"id":2,"company":"ACME"}
    ]}]
},{"otherstuff":[
    {"thing":
        [[1,42],[2,2]]
    }]
}]}

1 个答案:

答案 0 :(得分:1)

如果“json-string-with-nested-arrays”是一个JSON字符串,那么你可以在mongo-java-driver中做这样的事情。

info.put("Albums", JSON.parse(json-string-with-nested-arrays));

JSON.parse()方法是mongo-java-driver

的一部分