मैंने मोंगोडीबी का उपयोग नहीं किया है लेकिन मैंने मैप्रिडस का उपयोग किया है। मुझे लगता है कि आप मैप्रिडस कार्यों के मामले में सही रास्ते पर हैं। वह 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 को फिर से बना सकते हैं। क्या यह आपके काम आएगा?