MongoDB में $setIntersection का उपयोग करके दो ऐरे के सामान्य तत्व ढूंढना
MongoDB एग्रीगेशन में $setIntersection ऑपरेटर का उपयोग करके दो ऐरे में मौजूद सामान्य तत्वों का सेट प्राप्त करें।
उदाहरण: संग्रह और दस्तावेज़ बनाना
> db.demo61.insertOne({"Values1":[10,20,30,40,50],"Values2":[30,100,70,120,40]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e286e28cfb11e5c34d8992a") }
दस्तावेज़ देखना
> db.demo61.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5e286e28cfb11e5c34d8992a"), "Values1" : [ 10, 20, 30, 40, 50 ], "Values2" : [ 30, 100, 70, 120, 40 ] }
दोनों ऐरे का इंटरसेक्शन प्राप्त करना
> db.demo61.aggregate([
{ $project: { BothValues:{ $setIntersection: [ "$Values1", "$Values2" ] }} }
]);
आउटपुट:
{ "_id" : ObjectId("5e286e28cfb11e5c34d8992a"), "BothValues" : [ 30, 40 ] }
व्याख्या:
$setIntersection- दोनों ऐरे में मौजूद तत्वों का सेट लौटाता है- डुप्लिकेट हटा दिए जाते हैं (सेट व्यवहार)
- क्रम गारंटी नहीं है
- दोनों ऐरे होने चाहिए; फील्ड गायब होने पर खाली ऐरे माना जाता है
संबंधित सेट ऑपरेटर्स:
| ऑपरेटर | विवरण |
|---|---|
$setUnion | दोनों ऐरे के सभी अद्वितीय तत्व |
$setDifference | पहले ऐरे में मौजूद लेकिन दूसरे में नहीं |
$setEquals | दोनों ऐरे समान हैं तो true |
$setIsSubset | पहला ऐरे दूसरे का सबसेट है तो true |
$anyElementTrue | कोई तत्व truthy है तो true |
$allElementsTrue | सभी तत्व truthy हैं तो true |
व्यावहारिक उपयोग: टैग मिलान, अनुमति जांच, सामान्य रुचियां ढूंढना, डेटा सुलह।