count
ger ett uppskattat antal och kanske inte är korrekt. Använd countDocuments
för att få en korrekt räkning.
Du kan läsa källan till getShardDistribution
genom att skriva db.users.getShardDistribution
i skalet. Det verkar använda information lagrad i konfigurationsdatabasen.
Det är ganska rimligt att förvänta sig att statistiken som lagras av databasen är inte exakt korrekta. Detta beror på att det kostar att ha dem uppdaterade närhelst någon operation utförs var som helst i klustret.
Du verkar titta på statistik vid en tidpunkt efter att några bitar har kopierats från en skärva till en annan och innan dessa bitar har tagits bort från den ursprungliga skärpan. I denna situation lagras data två gånger i klustret. Statistiken är inte korrekt i det här fallet. För att få en korrekt räkning, använd countDocuments
.