O Mongoengine é inspirado no ORM do Django e, como o Django, ele usa
order_by
para ordenar o conjunto de resultados. order_by
recebe um número variável de argumentos de string, que são os nomes de campo (conforme definido em seus documentos) opcionalmente precedidos por um "-
" (para indicar uma classificação decrescente, ou seja, o mais alto primeiro). Por exemplo:
class Person(Document):
first_name = StringField()
last_name = StringField()
age = IntField()
# later
people = Person.objects.order_by('last_name', '-age')