Mongodb में डुप्लिकेट कैसे खोजें


MongoDB में डुप्लिकेट मान वाले दस्तावेज़ ढूंढने के लिए आप निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 db.collection.aggregate([
    {" $group ": { "_id": " $field1 ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])

यहां बताया गया है कि यह सिंटैक्स क्या करता है:

  • सभी दस्तावेज़ों को फ़ील्ड 1 में समान मान के साथ समूहित करें
  • उन समूहों का मिलान करें जिनके पास एक से अधिक दस्तावेज़ हैं
  • उन सभी समूहों को प्रोजेक्ट करें जिनके पास एक से अधिक दस्तावेज़ हैं

यह विशेष क्वेरी फ़ील्ड1 कॉलम में डुप्लिकेट मानों की तलाश करती है। खोज के लिए फ़ील्ड बदलने के लिए बस इस मान को संपादित करें।

निम्न उदाहरण दिखाता है कि निम्नलिखित दस्तावेज़ों वाली संग्रह टीम के साथ इस सिंटैक्स का उपयोग कैसे करें:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

उदाहरण: डुप्लिकेट मान वाले दस्तावेज़ ढूंढें

हम “टीम” कॉलम में सभी डुप्लिकेट मान खोजने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

 db.teams.aggregate([
    {" $group ": { "_id": " $team ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])

यह क्वेरी निम्नलिखित परिणाम लौटाती है:

 { name: 'Rockets' }
{ name: 'Mavs' }

यह हमें बताता है कि “रॉकेट्स” और “माव्स” मान “टीम” फ़ील्ड में कई बार दिखाई देते हैं।

ध्यान दें कि हम “स्थिति” फ़ील्ड में डुप्लिकेट मान देखने के लिए बस $team को $position से बदल सकते हैं:

 db.teams.aggregate([
    {" $group ": { "_id": " $position ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])

यह क्वेरी निम्नलिखित परिणाम लौटाती है:

 { name: 'Guard' }

यह हमें बताता है कि “गार्ड” “स्थिति” फ़ील्ड में कई बार दिखाई देता है।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि MongoDB में अन्य सामान्य ऑपरेशन कैसे करें:

MongoDB: किसी संग्रह में नया फ़ील्ड कैसे जोड़ें
MongoDB: कैसे समूहबद्ध करें और गिनें
MongoDB: एकाधिक फ़ील्ड के आधार पर समूह कैसे बनाएं

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *