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

MongoDB में दो सूचियों को कैसे एग्रीगेट करें यदि कम से कम एक तत्व मेल खाता है?


इसके लिए MongoDB में $group का उपयोग करें। उसके अंदर $unwind, $group, $addToSet आदि का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:

> db.demo456.insertOne( ... { _id: 101, StudentName: ["Chris", "David"] } ... ); { "acknowledged" : true, "insertedId" : 101 } > > db.demo456.insertOne( ... { _id: 102, StudentName: ["Mike", "Sam"] } ... ); { "acknowledged" : true, "insertedId" : 102 } > db.demo456.insertOne( ... { _id: 103, StudentName: ["John", "Jace"] } ... ); { "acknowledged" : true, "insertedId" : 103 } > db.demo456.insertOne( ... { _id: 104, StudentName: ["Robert", "John"] } ... ); { "acknowledged" : true, "insertedId" : 104 }

सभी दस्तावेज़ प्रदर्शित करें

> db.demo456.find();

आउटपुट:

{ "_id" : 101, "StudentName" : [ "Chris", "David" ] } { "_id" : 102, "StudentName" : [ "Mike", "Sam" ] } { "_id" : 103, "StudentName" : [ "John", "Jace" ] } { "_id" : 104, "StudentName" : [ "Robert", "John" ] }

कम से कम एक एलिमेंट मैच होने पर दो सूचियों को एग्रीगेट करने की क्वेरी

> db.demo456.aggregate([ ... {$unwind:"$StudentName"}, ... {$group:{_id:"$StudentName", combine:{$addToSet:"$_id"}, size:{$sum:1}}}, ... {$match:{size: {$gt: 1}}}, ... {$project:{_id: 1, combine:1, size: 1, combine1: "$combine"}}, ... {$unwind:"$combine"}, ... {$unwind:"$combine1"}, ... {$group:{_id:"$combine", l:{$first:"$_id"}, size:{$sum: 1}, set: {$addToSet:"$combine1"}}}, ... {$sort:{size:1}}, ... {$group:{_id: "$l", combineIds:{$last:"$set"}, size:{$sum:1}}}, ... {$match: {size:{$gt:1}}} ... ])

आउटपुट

{ "_id" : "John", "combineIds" : [ 103, 104 ], "size" : 2 }

  1. - C# में एक foreach स्टेटमेंट का उपयोग करके दो सूचियों या सरणियों पर पुनरावृति कैसे करें?

    दो सरणियाँ सेट करें।var val = new [] { 20, 40, 60}; var str = new [] { "ele1", "ele2", "ele3"};दो सरणियों को समानांतर में प्रोसेस करने के लिए zip() मेथड का उपयोग करें।var res = val.Zip(str, (n, w) => new { Number = n, Word = w });उपरोक्त क्रमशः int और स्ट्रिंग तत्वों

  1. - C# प्रोग्राम जांचने के लिए कि दो सूचियों में कम से कम एक सामान्य तत्व है या नहीं

    पहली सूची सेट करें। int[] arr1 = { 65, 57, 63, 98 }; अब, दूसरी सूची सेट करें। int[] arr2 = { 43, 65, 33, 57 }; आइए अब == और < ऑपरेटर्स का उपयोग करके दो सूचियों में सामान्य तत्वों की जांच करने का पूरा कोड देखें। उदाहरण using System; using System.Collections.Generic; u

  1. - पायथन प्रोग्राम: चेक करना कि दो लिस्ट्स में कम से कम एक कॉमन एलिमेंट है या नहीं

    इस समस्या में हम दो यूजर इनपुट लिस्ट का उपयोग करते हैं। हमारा कार्य चेक करना है कि कोई कॉमन एलिमेंट है या नहीं। हम बहुत सरल ट्रैवर्सल तकनीक का उपयोग करते हैं, दोनों लिस्ट्स को ट्रैवर्स करें और पहली लिस्ट के हर एलिमेंट को दूसरी लिस्ट के हर एलिमेंट के साथ चेक करें।उदाहरणInput: A = [10, 20, 30, 50] B =