How to specify the order in which the query returns matching documents in MongoDB

To specify the order in which the query returns matching documents, use cursor.sort() in MongoDB. The cursor is obtained from db.collectionName.find().

Syntax

db.collection.find().sort({ field: 1 });   // Ascending order
db.collection.find().sort({ field: -1 });  // Descending order

Where 1 means ascending order and -1 means descending order.

Sample Data

Let us create a collection with documents −

db.demo259.insertMany([
    { "Subject": "MySQL" },
    { "Subject": "Java" },
    { "Subject": "MongoDB" }
]);
{
    "acknowledged": true,
    "insertedIds": [
        ObjectId("5e47ae1f1627c0c63e7dba98"),
        ObjectId("5e47ae231627c0c63e7dba99"),
        ObjectId("5e47ae281627c0c63e7dba9a")
    ]
}

Display all documents from a collection with the help of find() method −

db.demo259.find();
{ "_id": ObjectId("5e47ae1f1627c0c63e7dba98"), "Subject": "MySQL" }
{ "_id": ObjectId("5e47ae231627c0c63e7dba99"), "Subject": "Java" }
{ "_id": ObjectId("5e47ae281627c0c63e7dba9a"), "Subject": "MongoDB" }

Example 1: Ascending Order

Sort documents by Subject in ascending order −

db.demo259.find().sort({ "Subject": 1 });
{ "_id": ObjectId("5e47ae231627c0c63e7dba99"), "Subject": "Java" }
{ "_id": ObjectId("5e47ae281627c0c63e7dba9a"), "Subject": "MongoDB" }
{ "_id": ObjectId("5e47ae1f1627c0c63e7dba98"), "Subject": "MySQL" }

Example 2: Descending Order

Sort documents by Subject in descending order −

db.demo259.find().sort({ "Subject": -1 });
{ "_id": ObjectId("5e47ae1f1627c0c63e7dba98"), "Subject": "MySQL" }
{ "_id": ObjectId("5e47ae281627c0c63e7dba9a"), "Subject": "MongoDB" }
{ "_id": ObjectId("5e47ae231627c0c63e7dba99"), "Subject": "Java" }

Key Points

  • Use 1 for ascending order (A to Z, 0 to 9)
  • Use -1 for descending order (Z to A, 9 to 0)
  • You can sort by multiple fields by specifying additional field-value pairs

Conclusion

The sort() method allows you to control the order of returned documents. Use 1 for ascending and -1 for descending order on any field.

Updated on: 2026-03-15T02:07:58+05:30

148 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements