ऐसा इसलिए हो रहा है क्योंकि भले ही
db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})
ऐसा लगता है कि यह एक ही कमांड है जो वास्तव में कई दस्तावेज़ों पर काम कर रहा है - जितने इस क्वेरी को संतुष्ट करते हैं।
जब आप प्रतिकृति का उपयोग करते हैं, तो प्रत्येक परिवर्तन कार्रवाई को local
. में एक विशेष संग्रह में लिखा जाना चाहिए डेटाबेस oplog.rs
. कहलाता है - संक्षिप्त के लिए oplog।
oplog में प्रत्येक हटाए गए दस्तावेज़ के लिए एक प्रविष्टि होनी चाहिए और उन प्रविष्टियों में से प्रत्येक को उसी रिकॉर्ड को हटाने से पहले प्रत्येक माध्यमिक पर oplog पर लागू करने की आवश्यकता होती है।
एक बात जो मैं आपको सुझा सकता हूं वह है TTL अनुक्रमणिका - वे आपके द्वारा सेट की गई समाप्ति तिथि/मान के आधार पर दस्तावेज़ों को "स्वचालित रूप से" हटा देंगे - इस तरह आपके पास एक भी बड़ा डिलीट नहीं होगा और इसके बजाय आप समय के साथ लोड को और अधिक फैलाने में सक्षम होंगे।