count
अनुमानित गणना प्रदान करता है, और सटीक नहीं हो सकता है। countDocuments
का उपयोग करें सटीक गणना प्राप्त करने के लिए।
आप getShardDistribution
. के स्रोत को पढ़ सकते हैं db.users.getShardDistribution
. लिखकर खोल में। ऐसा लगता है कि यह कॉन्फ़िगरेशन डेटाबेस में संग्रहीत जानकारी का उपयोग करता है।
यह अपेक्षा करना काफी उचित है कि आंकड़े डेटाबेस द्वारा संग्रहीत बिल्कुल सटीक नहीं हैं। ऐसा इसलिए है क्योंकि क्लस्टर में कहीं भी कोई भी ऑपरेशन किए जाने पर उन्हें अप-टू-डेट रखने की लागत होती है।
ऐसा लगता है कि आप एक समय में कुछ हिस्सों की प्रतिलिपि बनाने के बाद एक समय में आंकड़ों को देख रहे हैं और इन हिस्सों को मूल शार्ड से हटा दिए जाने से पहले। इस स्थिति में डेटा को क्लस्टर में दो बार स्टोर किया जाता है। इस मामले में आंकड़े सटीक नहीं हैं। सटीक गणना प्राप्त करने के लिए, countDocuments
. का उपयोग करें ।