MongoDB में डुप्लीकेट रिकॉर्ड खोजने के लिए एग्रीगेशन फ्रेमवर्क में $group, $match और $project का उपयोग करें।
उदाहरण से समझें
एक कलेक्शन बनाकर डुप्लीकेट नाम वाले डॉक्यूमेंट इन्सर्ट करते हैं:
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName": "John"});
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName": "John"});
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName": "Carol"});
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName": "Sam"});
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName": "Carol"});
> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName": "Mike"});
सभी डॉक्यूमेंट देखने के लिए:
> db.findDuplicateRecordsDemo.find();
आउटपुट:
डुप्लीकेट खोजने के लिए एग्रीगेशन पाइपलाइन:
> db.findDuplicateRecordsDemo.aggregate([ {$group: {"_id": "$StudentFirstName", "count": {$sum: 1}}}, {$match: {"_id": {$ne: null}, "count": {$gt: 1}}}, {$project: {"StudentFirstName": "$_id", "_id": 0}} ]);आउटपुट (केवल डुप्लीकेट):
पाइपलाइन व्याख्या:
$group:StudentFirstNameद्वारा ग्रुप बनाकर काउंट करता है$match:count > 1वाले ग्रुप फिल्टर करता है (डुप्लीकेट)$project: आउटपुट फॉर्मेट करता है -_idछुपाकरStudentFirstNameदिखाता है