Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में की फील्ड द्वारा डुप्लीकेट डॉक्यूमेंट कैसे खोजें

MongoDB में किसी की फील्ड के आधार पर डुप्लीकेट डॉक्यूमेंट खोजने के लिए एग्रीगेशन फ्रेमवर्क का उपयोग करें।

उदाहरण से समझें

एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं (कुछ डुप्लीकेट नाम के साथ):

> db.findDuplicateByKeyDemo.insertOne({"StudentId": 1, "StudentName": "John"});
> db.findDuplicateByKeyDemo.insertOne({"StudentId": 2, "StudentName": "Carol"});
> db.findDuplicateByKeyDemo.insertOne({"StudentId": 3, "StudentName": "Carol"});
> db.findDuplicateByKeyDemo.insertOne({"StudentId": 4, "StudentName": "John"});
> db.findDuplicateByKeyDemo.insertOne({"StudentId": 5, "StudentName": "Sam"});
> db.findDuplicateByKeyDemo.insertOne({"StudentId": 6, "StudentName": "Carol"});

सभी डॉक्यूमेंट देखने के लिए:

> db.findDuplicateByKeyDemo.find().pretty();

आउटपुट:

डुप्लीकेट खोजने के लिए एग्रीगेशन पाइपलाइन:

> db.findDuplicateByKeyDemo.aggregate([
  {$group: {
    _id: {StudentName: "$StudentName"},
    UIDS: {$addToSet: "$_id"},
    COUNTER: {$sum: 1}
  }},
  {$match: {COUNTER: {$gte: 2}}},
  {$sort: {COUNTER: -1}},
  {$limit: 10}
]).pretty();

आउटपुट:

पाइपलाइन: $group से ग्रुप बनाकर काउंट करें, $match से काउंट ≥ 2 फिल्टर करें, $sort से घटते क्रम में, $limit से टॉप 10।

  1. - MongoDB में Field द्वारा Documents Group करके Select करना

    Field द्वारा documents group करके select करने के लिए $group के साथ $project का उपयोग करें। Collection बनाना > db.demo540.insertOne({id:1,Name:Chris,CountryName:US}); { acknowledged : true, insertedId : ObjectId(5e8ca368ef4dcbee04fbbc0e) } > db.demo540.insertOne({id:1,Name:Chris,CountryName:UK

  1. - MongoDB कलेक्शन के सभी दस्तावेजों में नया फील्ड जोड़ें

    नया फील्ड जोड़ने के लिए, MongoDB में $addFields का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo712.insertOne({Name:John}); { acknowledged : true, insertedId : ObjectId(5ea85f675d33e20ed1097b82) } > db.demo712.insertOne({Name:Chris}); { acknowledged : true, insertedId : Ob

  1. - MongoDB क्वेरी: फॉर्मूला के साथ कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को अपडेट करें

    कलेक्शन में प्रत्येक डॉक्यूमेंट के प्रत्येक फील्ड को फॉर्मूला के साथ अपडेट करने के लिए MongoDB update() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo749.insertOne({details:[{ id:1,a:10},{id:2,a:5},{id:3,a:20}]}); { acknowledged : true, insertedId : ObjectId(5eae6fb0a930c785c834e565) } find(