This repository was archived by the owner on Dec 1, 2025. It is now read-only.
Refactor count to count_documents and estimated_document_count
#62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PyMongo
~=4.0removesCursor.countandCollection.countand provides two new count methods:Collection.count_documentsandCollection.estimated_document_count. 1When possible, we now try using the estimated document count for count operations, but if a limit or skip is defined, or a hint is provided, we'll use the more accurate count. This mirrors the behavior of the upstream mongoengine implementation.
Collection.count_documentsissues an aggregate query, which is accurate in all cases, but relatively expensive.Collection.estimated_document_countin PyMongo>=4.0,<4.2uses a $collStats aggregation to estimate the document count for the collection. In PyMongo>4.2it relies on thecountMongoDB command.Footnotes
https://pymongo.readthedocs.io/en/stable/migrate-to-pymongo4.html#collection-count-and-cursor-count-is-removed ↩