22 lines
590 B
Python
Executable File
22 lines
590 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)
|