INNER CODE UNIT · Python
_group_operation
mongomock/mongomock · mongomock/aggregate.py:190
def _group_operation(values, operator):
values_list = [v for v in values if v is not None]
if not values_list:
return None
return operator(values_list)
def _sum_operation(values):
values_list = []
if decimal_support:
for v in values:
if isinstance(v, numbers.Number):
values_list.append(v)
elif isinstance(v, decimal128.Decimal128):
values_list.append(v.to_decimal())
else:
values_list = [v for v in values if isinstance(v, numbers.Number)]
sum_value = sum(values_list)