Wynika to z jednego z następujących powodów wymienionych w dokumentacji.
W klastrze podzielonym na fragmenty, db.collection.count() może skutkować niedokładną liczbą, jeśli istnieją dokumenty osierocone lub jeśli migracja porcji jest w toku.
Aby uniknąć takich sytuacji, w klastrze podzielonym na fragmenty użyj etapu $group funkcji db.collection.aggregate()
metoda $sumowania dokumentów. Na przykład następująca operacja zlicza dokumenty w kolekcji:
Możesz użyć aggregate
sposób, aby to zrobić, zgodnie z sugestią w dokumentacji.
Scan.aggregate(
{'$group': {
'_id': None,
'count': {'$sum': 1}
}}
)