इसके लिए $zip के साथ एग्रीगेट का इस्तेमाल करें। ज़िप का उपयोग किसी सरणी को स्थानांतरित करने के लिए किया जाता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo339.insertOne({Id:101,Score1:["98",,"56"],Score2:[67,89]});{ "acknowledgeed" :true, "insertId" :ObjectId( "5e529ee5f8647eb59e5620a2")}
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo339.find();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :ObjectId("5e529ee5f8647eb59e5620a2"), "Id" :101, "Score1" :[ "98", "56" ], "Score2" :[ 67, 89 ] }
$zip के साथ दो सरणियों को ज़िप करने और ऑब्जेक्ट की एक नई सरणी बनाने की क्वेरी निम्नलिखित है -
> db.demo339.aggregate([... {... "$project":{... "AllArrayObject":{... "$map":{... "इनपुट":{. .. "$objectToArray":{... "$arrayToObject":{... "$zip":{... "इनपुट्स":[... "$Score1",... "$Score2"। ..]...}...}...}...},... "as":"el",... "in":{... "Score1":"$$ el.k",... "Score2":"$$el.v"... }... }... }... }... }... ])
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :ObjectId("5e529ee5f8647eb59e5620a2"), "AllArrayObject" :[{"Score1" :"98", "Score2":67}, {"Score1":"56", "Score2" :89 } ] }पूर्व>