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

MongoDB एकत्रीकरण में अधिकतम मूल्य वाले सरणी तत्वों का मिलान और समूह कैसे करें?

<घंटा/>

इसके लिए MongoDB में $group के साथ $max का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo510.insertOne(... {... विवरण:[... {... नाम:"क्रिस",... स्कोर:56...},... {.. नाम:"डेविड",... स्कोर:45...}...]...}...);{ "स्वीकृत" :सच, "insertId" :ObjectId("5e8845fa987b6e0e9d18f582")}> db .demo510.insertOne(... {... विवरण:[... {... नाम:"क्रिस",... स्कोर:56...},... {... नाम:"डेविड ",... स्कोर:47...}...]...}...);{"स्वीकृत" :सच, "insertedId" :ObjectId("5e8845fb987b6e0e9d18f583")}> db.demo510.insertOne( ... {... विवरण:[... {... नाम:"क्रिस",... स्कोर:45...},... {... नाम:"डेविड",... स्कोर:91... }... ]... }... );{ "स्वीकृत" :सच, "insertedId" :ObjectId("5e8845fb987b6e0e9d18f584")}

संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -

> db.demo510.find();

यह निम्नलिखित आउटपुट देगा -

{ "_id" :ObjectId("5e8845fa987b6e0e9d18f582"), "details" :[{"Name" :"Chris", "Score" :56 },{ "Name" :"David", "Score" :45 } ] }{ "_id" :ObjectId ("5e8845fb987b6e0e9d18f583"), "विवरण" :[ { "नाम" :"क्रिस", "स्कोर" :56 }, { "नाम" :"डेविड", "स्कोर" :47 } ] }{ "_id" :ObjectId ("5e8845fb987b6e0e9d18f584"), "विवरण" :[ { "नाम" :"क्रिस", "स्कोर" :45 }, { "नाम" :"डेविड", "स्कोर" :91 } ] }

एग्रीगेशन में अधिकतम मान वाले ऐरे एलिमेंट्स को मैच और ग्रुप करने के लिए क्वेरी निम्नलिखित है -

> db.demo510.aggregate([... {"$project":{... "विवरण":{... "$arrayElemAt":[... {"$filter":{.. . "इनपुट":"$विवरण",... "as":"res",... "cond":{... "$eq":[... "$$res.Score",। .. { "$ अधिकतम":{... "$ नक्शा":{... "इनपुट":"$ विवरण", ... "के रूप में":"बाहर", ... "में":"$ $आउट।स्कोर"...}...}}... ]...}...}},... 0... ]...}...}},... { "$group":{... "_id":"$details.Name",... "Name":{ "$first":"$details.Name" },... "गिनती":{ " $sum":1 }... }}... ])

यह निम्नलिखित आउटपुट देगा -

{ "_id" :"David", "Name" :"David", "count" :1 }{ "_id" :"Chris", "Name" :"Chris", "count" :2 } 
  1. जावास्क्रिप्ट में किसी सरणी का अधिकतम मान कैसे प्राप्त करें?

    हम Math.max () और सॉर्ट () फ़ंक्शन का उपयोग करके किसी सरणी का अधिकतम मान प्राप्त कर सकते हैं। 1) Math.max() Math.max() फ़ंक्शन आमतौर पर सभी तत्वों को एक सरणी में लेता है और अधिकतम मान प्राप्त करने के लिए प्रत्येक मान की जांच करता है। इसकी कार्यप्रणाली नीचे दिए गए उदाहरण में चर्चा की गई है। उदाहरण

  1. जावास्क्रिप्ट के साथ एक ही सरणी में किसी सरणी के तत्वों की नकल कैसे करें?

    निम्नलिखित एक ही सरणी में एक सरणी के तत्वों को डुप्लिकेट करने के लिए कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. एम्बेडेड दस्तावेज़ों की एक सरणी को माता-पिता तक कैसे स्थानांतरित करें और एकत्रीकरण पाइपलाइन के साथ कुंजी/मान बदलें?

    MongoDB एकत्रीकरण में $replaceRoot का उपयोग करें। $replaceRoot इनपुट दस्तावेज़ को निर्दिष्ट दस्तावेज़ से बदल देता है। ऑपरेशन _id फ़ील्ड सहित इनपुट दस्तावेज़ में सभी मौजूदा फ़ील्ड को बदल देता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo733.insertOne( ...    { ...     &