count
liefert eine geschätzte Anzahl und ist möglicherweise nicht genau. Verwenden Sie countDocuments
um eine genaue Zählung zu erhalten.
Sie können die Quelle von getShardDistribution
lesen indem Sie db.users.getShardDistribution
eingeben in der Schale. Es scheint Informationen zu verwenden, die in der Konfigurationsdatenbank gespeichert sind.
Es ist durchaus zu erwarten, dass die Statistiken von der Datenbank gespeichert sind nicht ganz genau. Dies liegt daran, dass Kosten dafür anfallen, dass sie immer auf dem neuesten Stand sind, wenn irgendwo im Cluster ein Vorgang ausgeführt wird.
Sie scheinen sich Statistiken zu einem Zeitpunkt anzusehen, nachdem einige Chunks von einem Shard auf einen anderen kopiert wurden und bevor diese Chunks aus dem ursprünglichen Shard entfernt wurden. In diesem Fall werden die Daten doppelt im Cluster gespeichert. Die Statistik stimmt in diesem Fall nicht. Um eine genaue Zählung zu erhalten, verwenden Sie countDocuments
.