Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB aggregation में नेस्टेड फ़ील्ड को सरणी में काउंट मान के साथ कैसे समूहित करें


आइए एक संग्रह बनाते हैं:


सभी दस्तावेज़ देखने के लिए:

{ "_id" : ObjectId("5e2d91eab8903cdd865577b9"), "Details" : { "X" : { "Values" : [ 10, 30, 50 ], "Number" : 3 }, "Y" : { "Values" : [ 1000, 180 ], "Number" : 2 } } }
{ "_id" : ObjectId("5e2d927bb8903cdd865577ba"), "Details" : { "X" : { "Values" : [ 100, 300, 500, 6000 ], "Number" : 4 }, "Y" : { "Values" : [ 10, 20, 60 ], "Number" : 3 } } }

नेस्टेड फ़ील्ड को काउंट के साथ समूहित करने की क्वेरी


परिणाम:


व्याख्या: $objectToArray ऑब्जेक्ट को की-मान सरणी में बदलता है, $unwind उसे फैलाता है, $group की द्वारा समूहित करके Number का योग निकालता है।

  1. - MongoDB एग्रीगेशन में अधिकतम मान के साथ सरणी तत्वों को कैसे मिलाएं और समूहित करें?

    इसके लिए, MongoDB में $group के साथ $max का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo510.insertOne( { details:[ { Name:Chris, Score:56 }, { Name:David, Score:45 } ] }); { acknowledged : tru

  1. - MongoDB में सरणी फील्ड के साथ काम करके सभी से मिलान कैसे करें?

    MongoDB में सभी से मिलान करने के लिए $all का उपयोग करें। $all ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां फील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए एक कलेक्शन बनाते हैं: > db.demo695.insertOne({ListOfValues:[100,200,500,800]}); { acknowledged : true, insertedId : ObjectId(5ea6d

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी