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 ?
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.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With