MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो दो या दो से अधिक क्षेत्रों के लिए प्रविष्टियों के लिए डुप्लीकेट ढूंढता है

आप निम्न एकत्रीकरण पाइपलाइन ऑपरेशन चलाकर आसानी से डुप्लिकेट की पहचान कर सकते हैं:

db.collection.aggregate([
    { 
        "$group": { 
            "_id": { "foreing": "$foreing", "value": "$value" }, 
            "uniqueIds": { "$addToSet": "$_id" },
            "count": { "$sum": 1 } 
        }
    }, 
    { "$match": { "count": { "$gt": 1 } } }
])

$group पहले चरण में ऑपरेटर का उपयोग दस्तावेज़ों को foreign . द्वारा समूहित करने के लिए किया जाता है और value कुंजी मान और फिर _id . की एक सरणी बनाएं प्रत्येक समूहीकृत दस्तावेज़ के लिए uniqueIds . के रूप में मान $addToSet . का उपयोग करके फ़ील्ड ऑपरेटर। यह आपको प्रत्येक समूह के लिए अद्वितीय अभिव्यक्ति मानों की एक सरणी देता है। $sum . के साथ बाद के पाइपलाइन चरणों में उपयोग करने के लिए समूहीकृत दस्तावेज़ों की कुल संख्या प्राप्त करें ऑपरेटर।

दूसरे पाइपलाइन चरण में, $match . का उपयोग करें ऑपरेटर 1 की गिनती के साथ सभी दस्तावेज़ों को फ़िल्टर करेगा। फ़िल्टर किए गए दस्तावेज़ अद्वितीय अनुक्रमणिका कुंजियों का प्रतिनिधित्व करते हैं।

शेष दस्तावेज़ संग्रह में वे होंगे जिनमें जोड़ी के लिए डुप्लीकेट कुंजी मान हैं foreing &value



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. तार्किक बैकअप का उपयोग करके MongoDB में एक विशिष्ट संग्रह को कैसे पुनर्स्थापित करें

  2. MongoDB में एक संग्रह कॉपी/क्लोन करें

  3. मोंगोडीबी:कई मानदंडों के साथ ऐरे में मूल्य पाएं

  4. मोंगोडीबी - पेजिंग

  5. सी # + मोंगोडीबी - मोंगोडीबी डेटाटाइप/विशेषताओं का उपयोग किए बिना ऑब्जेक्ट आईडी