Python MongoDB - Sort
In MongoDB, sorting allows you to arrange documents in a specific order based on one or more fields. Using PyMongo in Python, you can apply the sort() method on a query result to retrieve documents in ascending or descending order. This is helpful when you want results ranked by specific fields.
Syntax
collection.find().sort(field, direction)
Parameter:
- field (str): name of the field to sort
- direction (int): sorting direction, use: 1 for ascending order and -1 for descending order
Let's explore some Examples to understand it.
Sample Collection used in this article:

Example 1:
This Example sorts documents in the names collection by the "id" field in ascending order using PyMongo.
import pymongo
client = pymongo.MongoClient('localhost', 27017)
db = client["GFG"]
collection = db["names"]
# Sort documents by 'id' in ascending order
sorted_docs = collection.find().sort("id", 1)
# Print sorted documents
for doc in sorted_docs:
print(doc)
Output

Explanation: find().sort("id", 1) retrieves all documents from the "names" collection and sorts them in ascending order by the "id" field.
Example 2:
This code retrieves documents from the names collection sorting them by the "name" field in descending order using PyMongo.
import pymongo
my_client = pymongo.MongoClient('localhost', 27017)
mydb = my_client["gfg"]
mynew = mydb["names"]
# Sort documents by 'name' in descending order
mydoc = mynew.find().sort("name", -1)
# Print the sorted documents
for x in mydoc:
print(x)
Output :

Explanation: find().sort("name", -1) retrieves all documents from the "names" collection and sorts them in descending order by the "name" field.
Related Article: