我想从mongodb.from一个简单的文档中通过java查询访问嵌入式文档,但是我们怎样才能从嵌入式文档中访问?
答案 0 :(得分:7)
如果我理解正确,您可以在下面找到问题的答案。
假设您有以下嵌套文档。
{ "key1" : "value1",
"key2" : {
"key21" : "value21",
"key22" : "value22"
}
}
如果您要对嵌套文档进行查询,则可以使用以下java代码访问嵌入对象。
DBCollection coll = db.getCollection("collectionName");
BasicDBObject query = new BasicDBObject();
query.put("key2.key21", new BasicDBObject("$eq", "value21"));
DBCursor cur = coll.find(query);
如果您要从文档中提取嵌入文档,则可以使用 Map/Reduce或Aggregation framework.
Ian Daniel仍然添加了代码来插入您提出的嵌套文档。您还可以访问this页面查看一些详细示例。
答案 1 :(得分:4)
以下Java代码将插入{ID:23 {Name:{"FirstName": "Ahmad", "SecondName":"Khan"}}
Mongo mongo = new Mongo();
DB db = mongo.getDB("test");
DBCollection people = db.getCollection("people");
BasicDBObject name = new BasicDBObject();
name.put("FirstName", "Ahmad");
name.put("LastName", "Khan");
BasicDBObject person = new BasicDBObject();
person.put("ID", 23);
person.put("Name", name);
people.insert(person);