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

Mongodb में एक कुंजी के आधार पर डुप्लिकेट कैसे निकालें?

यह उत्तर अप्रचलित है : dropDups मोंगोडीबी 3.0 में विकल्प हटा दिया गया था, इसलिए ज्यादातर मामलों में एक अलग दृष्टिकोण की आवश्यकता होगी। उदाहरण के लिए, आप इस पर सुझाव के अनुसार एकत्रीकरण का उपयोग कर सकते हैं:अद्वितीय कुंजी जोड़ने के बाद भी MongoDB डुप्लिकेट दस्तावेज़।

यदि आप सुनिश्चित हैं कि source_references.key डुप्लिकेट रिकॉर्ड की पहचान करता है, आप dropDups:true . के साथ एक अद्वितीय अनुक्रमणिका सुनिश्चित कर सकते हैं MongoDB 2.6 या पुराने में अनुक्रमणिका निर्माण विकल्प:

db.things.ensureIndex({'source_references.key' : 1}, {unique : true, dropDups : true})

यह प्रत्येक source_references.key . के लिए पहला अद्वितीय दस्तावेज़ रखेगा मूल्य, और किसी भी बाद के दस्तावेज़ों को छोड़ दें जो अन्यथा डुप्लिकेट कुंजी उल्लंघन का कारण बनेंगे।

महत्वपूर्ण नोट :कोई भी दस्तावेज़ जिसमें source_references.key . मौजूद नहीं है फ़ील्ड को शून्य . के रूप में माना जाएगा मान, इसलिए बाद के दस्तावेज़ जिनमें कुंजी फ़ील्ड नहीं है, हटा दिए जाएंगे। आप sparse:true जोड़ सकते हैं अनुक्रमणिका निर्माण विकल्प इसलिए अनुक्रमणिका केवल source_references.key . वाले दस्तावेज़ों पर लागू होती है फ़ील्ड.

स्पष्ट सावधानी :अपने डेटाबेस का बैकअप लें, और यदि आप अनपेक्षित डेटा हानि के बारे में चिंतित हैं, तो पहले इसे स्टेजिंग वातावरण में आज़माएं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नोएसक्यूएल के लिए मामलों का प्रयोग करें

  2. MongoDB में किसी संपत्ति के आधार पर नेस्टेड सरणी ऑब्जेक्ट अपडेट करें

  3. MongoDB BSON दस्तावेज़ आकार सीमा को समझना

  4. MongoDB C# ड्राइवर 2.0 - दस्तावेज़ अपडेट करें

  5. MongoDB में फ़ाइल आयात करते समय मौजूदा दस्तावेज़ों को कैसे बदलें