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

MongoDB में किसी फील्ड के डुप्लिकेट मान कैसे प्राप्त करें?


Aggregation Pipeline से डुप्लिकेट मान खोजें

MongoDB में किसी फील्ड के डुप्लिकेट मान (एक से अधिक बार आने वाले मान) खोजने के लिए aggregate() के साथ $group और $match का उपयोग करें।

उदाहरण डेटा


सभी दस्तावेज़:

{ "_id" : ObjectId("5c995078863d6ffd454bb647"), "UserName" : "John", "UserAge" : 28 }
{ "_id" : ObjectId("5c995081863d6ffd454bb648"), "UserName" : "Larry", "UserAge" : 21 }
{ "_id" : ObjectId("5c995089863d6ffd454bb649"), "UserName" : "Larry", "UserAge" : 23 }
{ "_id" : ObjectId("5c995093863d6ffd454bb64a"), "UserName" : "David", "UserAge" : 22 }
{ "_id" : ObjectId("5c99509d863d6ffd454bb64b"), "UserName" : "John", "UserAge" : 26 }
{ "_id" : ObjectId("5c9950a7863d6ffd454bb64c"), "UserName" : "Robert", "UserAge" : 24 }
{ "_id" : ObjectId("5c9950b1863d6ffd454bb64d"), "UserName" : "Robert", "UserAge" : 25 }
{ "_id" : ObjectId("5c9950bc863d6ffd454bb64e"), "UserName" : "Mike", "UserAge" : 29 }

डुप्लिकेट UserName खोजें



व्याख्या:

  1. $group - UserName द्वारा समूह बनाता है और प्रत्येक समूह की गिनती Counter में रखता है
  2. $match - केवल उन्हीं समूहों को फ़िल्टर करता है जहां Counter > 1 (यानी डुप्लिकेट)

उन्नत: डुप्लिकेट दस्तावेज़ों के पूरे डेटा के लिए $$ROOT या $push का उपयोग करें।

  1. - MongoDB aggregate से डुप्लिकेट नामों के संबंधित फील्ड मानों की गिनती प्राप्त करें

    उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo558.insertOne( ... { _id : 100, CountryCode:101, details: [ ... { Name:Chris, Subject:MySQL }, ... { Name:Chris, Subject:MongoDB }, ... { Name:Chris, Subject:Java }, ... { Name:Bob, Subject:Python }, ... { Name:Bob, Subject:J

  1. - MongoDB क्वेरी: फील्ड के रिटर्निंग वैल्यूज को लिमिट करें

    इसके लिए $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo594.insertOne({ id:1, details:[ {Name:Chris,Age:21}, {Name:Bob,Age:20}, {Name:David,Age:23}, {Name:Sam,Age:22} ] }); { acknowledged : true, insertedId : ObjectId(5e9334

  1. - MongoDB में किसी फ़ील्ड के सभी मानों को विशिष्ट स्ट्रिंग से अपडेट करना

    कलेक्शन के सभी दस्तावेज़ों में किसी फ़ील्ड का मान बदलने के लिए update() के साथ multi: true (या नए वर्जन में updateMany()) का उपयोग करें। डेमो डेटा > db.demo720.insertOne({SubjectName:MySQL}); > db.demo720.insertOne({SubjectName:Java}); > db.demo720.insertOne({SubjectName:C}); > db.demo7