आप इसके लिए $setIntersection का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.setInterSectionDemo.insertOne(... {"_id":101, "Value1":[55,67,89]}...);{ "स्वीकृत" :सच, "insertedId" :101 }> db.setInterSectionDemo.insertOne(... {"_id":102, "Value2":[90,45,55]}...);{ "स्वीकृत" :सच, "insertId" :102 }> db. setInterSectionDemo.insertOne(... {"_id":103, "Value3":[92,67,45]}...);{ "स्वीकृत" :सच, "insertId" :103 }
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.setInterSectionDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :101, "Value1" :[ 55, 67, 89 ] }{ "_id" :102, "Value2" :[90, 45, 55 ] }{ "_id" :103, "Value3 " :[ 92, 67, 45 ]
यहाँ MongoDB में एक ही संग्रह में दस्तावेज़ों के बीच सेट के प्रतिच्छेदन को खोजने के लिए क्वेरी है -
> db.setInterSectionDemo.aggregate([... {... "$match":{... "_id":{ "$in":[101, 103]}...}... },... {... "$group":{... "_id":0,... "firstValue":{ "$first":"$Value1" },... "secondValue":{ "$last":"$Value3" }... }... },... {... "$project":{... "firstValue":1,... "secondValue":1 ,... "CommonValue":{ "$setIntersection":[ "$firstValue", "$secondValue" ] },... "_id":0...}...}... ]);पूर्व>यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "firstValue" :[ 55, 67, 89 ], "secondValue" :[92, 67, 45 ], "CommonValue" :[ 67 ] }