आप इसके लिए $setIntersection का उपयोग कर सकते हैं। पहले दस्तावेजों के साथ एक संग्रह बनाते हैं:
> db.setInterSectionDemo.insertOne({ "_id":101, "Value1":[55,67,89] });
{ "acknowledged" : true, "insertedId" : 101 }
> db.setInterSectionDemo.insertOne({ "_id":102, "Value2":[90,45,55] });
{ "acknowledged" : true, "insertedId" : 102 }
> db.setInterSectionDemo.insertOne({ "_id":103, "Value3":[92,67,45] });
{ "acknowledged" : true, "insertedId" : 103 }
संग्रह से सभी दस्तावेजों को find() विधि की सहायता से प्रदर्शित करने के लिए क्वेरी:
> 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 ] }