Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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. सी # में एक फ़ोरैच स्टेटमेंट के साथ दो सूचियों या Arrays को कैसे पुन:सक्रिय करें?

    दो सरणियाँ सेट करें। 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 }); उपरोक्त दोनों सरणियों को क्रमशः

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

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

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

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