MongoDB предоставляет три метода для подсчёта документов, каждый с разными уровнями точности и компромиссами в производительности.
count() — Устаревший методcountDocuments() — Точный подсчёт$match для подсчёта документовestimatedDocumentCount(), так как сканирует совпадающие документыdb.collection.countDocuments({ status: "active" })
Используй когда: нужен точный подсчёт, особенно с условиями фильтрации.
estimatedDocumentCount() — Быстрый приблизительный подсчётcountDocuments()db.collection.estimatedDocumentCount()
Используй когда: нужен быстрый подсчёт всех документов и точность не критична.
| Метод | Точный | Принимает фильтр | Производительность |
|---|---|---|---|
count() | ✗ | ✓ | Средняя |
countDocuments() | ✓ | ✓ | Медленнее |
estimatedDocumentCount() | Приблизительный | ✗ | Самый быстрый |
countDocuments() для надёжного подсчёта с фильтрамиestimatedDocumentCount() для быстрой проверки размера всей коллекцииcount() полностью в современных приложенияхМетод countDocuments() внутренне использует aggregation pipeline со стадией $match, что позволяет ему давать точные подсчёты даже при применении фильтров в запросе.
Новый — ещё не проверен сообществом
Вы