MongoDB में $unwind प्रत्येक तत्व के लिए एक दस्तावेज़ को आउटपुट करने के लिए इनपुट दस्तावेज़ों से एक सरणी फ़ील्ड को डिकंस्ट्रक्ट करता है। गिनती प्राप्त करने के लिए कुल() के साथ $unwind का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo478.insertOne(... {...... "विवरण":{... _id:1,... "सूचना":[... {... "नाम" :"क्रिस",... "आयु":21...},... {... "नाम" :"डेविड",... "आयु":23...},... { ...... "नाम":शून्य,... "आयु":22...},... {...... "नाम":शून्य,... "आयु":24। ..}...]...}...}...);{ "स्वीकृत" :सच, "insertedId" :ObjectId("5e8204acb0f3fa88e2279092")}>> db.demo478.insertOne(... { ...... "विवरण":{... _id:2,... "सूचना":[... {... "नाम":"बॉब",... "आयु":21। ..},... {... "नाम":शून्य,... "आयु":20...}...]...}...}...);{ "स्वीकृत" :सच, "insertedId" :ObjectId("5e8204adb0f3fa88e2279093")}
संग्रह से सभी दस्तावेज़ ढूंढें () विधि की सहायता से प्रदर्शित करें -
> db.demo478.find();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :ObjectId("5e8204acb0f3fa88e2279092"), "Details" :{ "_id" :1, "Information" :[ {"Name" :"Chris", "Age" :21 }, { "Name " :"डेविड", "आयु" :23 }, { "नाम" :शून्य, "आयु" :22 }, {"नाम" :शून्य, "आयु" :24 } ] } }{ "_id" :ObjectId( "5e8204adb0f3fa88e2279093"), "विवरण" :{ "_id" :2, "सूचना" :[ {"नाम" :"बॉब", "आयु" :21 }, { "नाम" :शून्य, "आयु" :20 } ] } }पूर्व>गिनती प्राप्त करने के लिए $अनविंड लागू करने की क्वेरी निम्नलिखित है -
> db.demo478.aggregate([... { "$unwind":"$Details.Information" },... {... "$group" :{... "_id":"$ विवरण.सूचना.आयु",... "गिनती":{... "$योग":{... "$cond":[... { "$gt":[ "$विवरण.सूचना.नाम ", नल]},... 1, 0...]...}...}...}...},... {"$सॉर्ट":{"गिनती":-1} }... ])यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :21, "गिनती" :2 }{ "_id" :23, "गिनती" :1 }{ "_id" :24, "गिनती" :0 }{ "_id" :20, " गिनती" :0 }{ "_id" :22, "गिनती" :0 }