Open In App

Python MongoDB - Sort

Last Updated : 04 Jul, 2025
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

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:

sort-database
Collection used for Example

Example 1:

This Example sorts documents in the names collection by the "id" field in ascending order using PyMongo.

Python
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

sort-output1
Snapshot of Terminal showing Output of sort method

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.

Python
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 :

ss
Snapshot of Terminal showing Output of sort method

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

Related Article:


Next Article
Practice Tags :

Similar Reads