सबडॉक्यूमेंट्स को फ़िल्टर करने के लिए, MongoDB एग्रीगेट का उपयोग करें और उसमें $unwind का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:
> db.demo662.insertOne(
{
"details":[
{
Name:"Chris",
Marks:35
},
{
Name:"Bob",
Marks:45
},
{
Name:"David",
Marks:30
}
]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1b2be24113ea5458c7d04") }
find() मेथड की मदद से संग्रह के सभी दस्तावेज़ प्रदर्शित करें:
> db.demo662.find();
यह निम्न आउटपुट देगा:
{ "_id" : ObjectId("5ea1b2be24113ea5458c7d04"), "details" : [ { "Name" : "Chris", "Marks" : 35 }, { "Name" : "Bob", "Marks" : 45 }, { "Name" : "David", "Marks" : 30 } ] }
सबडॉक्यूमेंट्स फ़िल्टर करने की क्वेरी:
> db.demo662.aggregate({$unwind:"$details"},{$match:{"details.Marks":{$gt:40}}})
यह निम्न आउटपुट देगा:
{ "_id" : ObjectId("5ea1b2be24113ea5458c7d04"), "details" : { "Name" : "Bob", "Marks" : 45 } }