Počínaje mongoengine v0.9 (který je aktuálně ve vývoji) budete moci používat aggregate() , jak jste navrhli:https://docs.mongoengine.org/ apireference.html#mongoengine.queryset.QuerySet.aggregate
Do té doby se musíte spolehnout na pymongo :Flask-MongoEngine &PyMongo Aggregation Query