$अनविंड के साथ कुल () का उपयोग करके गहरी उप-सूचियों को संयोजित करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo70.insertOne( ... { ... ... "first" : [ ... { ... "details" : { ... "second" : [ ... { ... "StudentDetails" : { ... "Score" : 10 ... } ... }, ... { ... "StudentDetails" : { ... "Score" : 20 ... } ... }, ... { ... "StudentDetails" : { ... "Score" : 30 ... } ... } ... ] ... } ... }, ... { ... "details" : { ... "second" : [ ... { ... "StudentDetails" : { ... "Score" : 11 ... } ... }, ... { ... "StudentDetails" : { ... "Score" : 18 ... } ... }, ... { ... "StudentDetails" : { ... "Score" : 29 ... } ... } ... ] ... } ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e29ad4d0912fae76b13d76d") }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo70.find().pretty();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e29ad4d0912fae76b13d76d"), "first" : [ { "details" : { "second" : [ { "StudentDetails" : { "Score" : 10 } }, { "StudentDetails" : { "Score" : 20 } }, { "StudentDetails" : { "Score" : 30 } } ] } }, { "details" : { "second" : [ { "StudentDetails" : { "Score" : 11 } }, { "StudentDetails" : { "Score" : 18 } }, { "StudentDetails" : { "Score" : 29 } } ] } } ] }
गहरी उप-सूचियों को जोड़ने की क्वेरी निम्नलिखित है -
> db.demo70.aggregate([ ... { $unwind: "$first" }, ... { $unwind: "$first.details.second" }, ... { $sort: { "first.details.second.StudentDetails.Score": -1 } }, ... { $limit: 3 }, ... { $replaceRoot: { newRoot: "$first.details.second.StudentDetails" } }, ... { $sort: { "Score": 1 } } ... ]);
यह निम्नलिखित आउटपुट देगा -
{ "Score" : 20 } { "Score" : 29 } { "Score" : 30 }