21 lines
581 B
Python
Executable File
21 lines
581 B
Python
Executable File
"""Definition of function to count documents in database."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pymongo.collection import Collection
|
|
|
|
|
|
def count_documents(
|
|
collection: Collection,
|
|
only_with_annotation: bool = False,
|
|
) -> int:
|
|
"""Get the total number of documents in database that matches the
|
|
filters."""
|
|
assert isinstance(collection, Collection)
|
|
assert isinstance(only_with_annotation, bool)
|
|
# build query
|
|
query = {}
|
|
if only_with_annotation:
|
|
query['annotation'] = {'$ne': None}
|
|
return collection.count_documents(filter=query)
|