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

MapReduce का उपयोग करके डुप्लिकेट रिकॉर्ड हटाना

मैंने मोंगोडीबी का उपयोग नहीं किया है लेकिन मैंने मैप्रिडस का उपयोग किया है। मुझे लगता है कि आप मैप्रिडस कार्यों के मामले में सही रास्ते पर हैं। वह 0 और खाली तारों को बाहर करने के लिए, आप मानचित्र फ़ंक्शन में ही एक चेक जोड़ सकते हैं .. कुछ ऐसा

m = function () { 
  if(this.MlsId!=0 && this.MlsId!="") {    
    emit(this.MlsId, 1); 
  }
} 

और कम करें कुंजी-मूल्य जोड़े वापस करना चाहिए। तो यह होना चाहिए:

r = function(k, vals) {
  emit(k,Arrays.sum(vals);
}

इसके बाद, आपके पास आउटपुट में की-वैल्यू पेयर का एक सेट होना चाहिए जैसे कि कुंजी MlsId है और मान इस विशेष आईडी के आने की संख्या है। मुझे db.drop() भाग के बारे में निश्चित नहीं है। जैसा कि आपने बताया, यह संभवतः केवल डुप्लिकेट वाले को हटाने के बजाय सभी MlsIds को हटा देगा। इसके आसपास जाने के लिए, शायद आप पहले ड्रॉप() को कॉल कर सकते हैं और फिर एक बार MlsId को फिर से बना सकते हैं। क्या यह आपके काम आएगा?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक बड़ी जोंस फ़ाइल के माध्यम से ठीक से पुनरावृति कैसे करें

  2. नेवला, वस्तुओं की सरणी में अद्यतन मान

  3. MongoDB '$geoNear क्वेरी के लिए अनुक्रमणिका खोजने में असमर्थ'

  4. मोंगोडीबी $concat

  5. सम्मिलित करेंकई हैंडल डुप्लिकेट त्रुटियां