count
geeft een geschat aantal en is mogelijk niet nauwkeurig. Gebruik countDocuments
om een nauwkeurige telling te krijgen.
U kunt de bron van getShardDistribution
lezen door db.users.getShardDistribution
. te typen in de schil. Het lijkt informatie te gebruiken die is opgeslagen in de configuratiedatabase.
Het is redelijk te verwachten dat de statistieken opgeslagen door de database zijn niet precies nauwkeurig. Dit komt omdat het kosten met zich meebrengt om ze up-to-date te houden wanneer er ergens in het cluster een bewerking wordt uitgevoerd.
Het lijkt erop dat u naar statistieken kijkt op een bepaald moment nadat sommige chunks van de ene shard naar de andere zijn gekopieerd en voordat deze chunks uit de oorspronkelijke shard zijn verwijderd. In deze situatie worden de gegevens twee keer opgeslagen in het cluster. De statistieken kloppen in dit geval niet. Gebruik countDocuments
voor een nauwkeurige telling .