Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can we we give query for embedded documents through java driver?

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 ?

like image 738
jad001 Avatar asked Mar 04 '26 14:03

jad001


2 Answers

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.

like image 163
Parvin Gasimzade Avatar answered Mar 07 '26 03:03

Parvin Gasimzade


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);
like image 39
Ian Daniel Avatar answered Mar 07 '26 02:03

Ian Daniel



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!