How can we we give query for embedded documents th

2019-07-19 11:37发布

i want to access the embedded document through java query from mongodb.from a simple document its easy but how can we access from embedded document ?

2条回答
仙女界的扛把子
2楼-- · 2019-07-19 12:36

If I understand you correctly, you can find the answer of your question below.

Say you have the following nested document.

{ "key1" : "value1",
  "key2" : {
             "key21" : "value21",
             "key22" : "value22"
           }
}

If you mean to make query on the nested documents then you can access the embedded object using the following java code.

DBCollection coll = db.getCollection("collectionName");
BasicDBObject query = new BasicDBObject();
query.put("key2.key21", new BasicDBObject("$eq", "value21"));
DBCursor cur = coll.find(query);

If you mean to extract embedded document from the document then you can use Map/Reduce or Aggregation framework.

Ian Daniel is still added the code to insert nested documents that you asked. You can also visit this page to see some detailed examples.

查看更多
放荡不羁爱自由
3楼-- · 2019-07-19 12:41

The following Java code will insert a document of the form {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);
查看更多
登录 后发表回答