33
votes

How do I sort the query objects in MongoEngine, like I would in a regular mongodb query?

http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

1

1 Answers

73
votes

Mongoengine is inspired by Django's ORM, and like Django, it uses order_by to sort the result set. order_by takes a variable number of string arguments, which are the field names (as defined in your documents) optionally preceded by a "-" (to indicate a descending sort, i.e. highest first).

For example:

class Person(Document):
    first_name = StringField()
    last_name = StringField()
    age = IntField()

# later
people = Person.objects.order_by('last_name', '-age')