'Sorts this cursor\'s results.
Pass a field name and a direction, either
:data:`~pymongo.ASCENDING` or :data:`~pymongo.DESCENDING`::
for doc in collection.find().sort(\'field\', pymongo.ASCENDING):
print(doc)
To sort by multiple fields, pass a list of (key, direction) pairs::
for doc in collection.find().sort([
(\'field1\', pymongo.ASCENDING),
(\'field2\', pymongo.DESCENDING)]):
print(doc)
Beginning with MongoDB version 2.6, text search results can be
sorted by relevance::
cursor = db.test.find(
{\'$text\': {\'$search\': \'some words\'}},
{\'score\': {\'$meta\': \'textScore\'}})
# Sort by \'score\' field.
cursor.sort([(\'score\', {\'$meta\': \'textScore\'})])
for doc in cursor:
print(doc)
Raises :class:`~pymongo.errors.InvalidOperation` if this cursor has
already been used. Only the last :meth:`sort` applied to this
cursor has any effect.
:Parameters:
- `key_or_list`: a single key or a list of (key, direction)
pairs specifying the keys to sort on
- `direction` (optional): only used if `key_or_list` is a single
key, if not given :data:`~pymongo.ASCENDING` is assumed'

def sort(self, key_or_list, direction=None):

    self.__check_okay_to_chain()
    keys = helpers._index_list(key_or_list, direction)
    self.__ordering = helpers._index_document(keys)
    return self
