Mongoengine si ispira all'ORM di Django e, come Django, utilizza order_by per ordinare il set di risultati. order_by accetta un numero variabile di argomenti stringa, che sono i nomi dei campi (come definiti nei tuoi documenti) eventualmente preceduti da un "- " (per indicare un ordinamento decrescente, cioè il più alto per primo).
Ad esempio:
class Person(Document):
first_name = StringField()
last_name = StringField()
age = IntField()
# later
people = Person.objects.order_by('last_name', '-age')