count
podaje szacunkową liczbę i może nie być dokładny. Użyj countDocuments
aby uzyskać dokładną liczbę.
Możesz przeczytać źródło getShardDistribution
wpisując db.users.getShardDistribution
w powłoce. Wydaje się, że używa informacji przechowywanych w bazie danych konfiguracji.
Można się spodziewać, że statystyki przechowywane przez bazę danych nie są dokładnie dokładne. Dzieje się tak, ponieważ ich aktualność wiąże się z pewnym kosztem za każdym razem, gdy jakakolwiek operacja jest wykonywana w dowolnym miejscu w klastrze.
Wydaje się, że patrzysz na statystyki w pewnym momencie po skopiowaniu niektórych fragmentów z jednego fragmentu do drugiego i zanim te fragmenty zostaną usunięte z oryginalnego fragmentu. W tej sytuacji dane są przechowywane w klastrze dwukrotnie. W tym przypadku statystyki nie są dokładne. Aby uzyskać dokładną liczbę, użyj countDocuments
.