MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Falsche Anzahl von Dokumenten im MongoDB-Shard-Cluster

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 .