These three methods are commonly used with find() to sort records, skip records, and restrict the number of records returned.
Assume we have a students collection:
db.students.find()
Example data:
{ name: "Rahul", city: "Rajkot", marks: 75 }
{ name: "Amit", city: "Ahmedabad", marks: 90 }
{ name: "Priya", city: "Surat", marks: 65 }
{ name: "Neha", city: "Rajkot", marks: 85 }
{ name: "Jay", city: "Vadodara", marks: 70 }
1. sort()
sort() is used to arrange records in ascending or descending order.
Ascending order
db.students.find().sort({marks: 1})
1 = Ascending
Result:
Priya 65
Jay 70
Rahul 75
Neha 85
Amit 90
Descending order
db.students.find().sort({marks: -1})
-1 = Descending
Result:
Amit 90
Neha 85
Rahul 75
Jay 70
Priya 65
2. skip()
skip() is used to skip a specified number of records.
db.students.find().skip(2)
This skips the first 2 records and returns the remaining records.
For example:
Record 1 → Rahul
Record 2 → Amit
Record 3 → Priya
Record 4 → Neha
Record 5 → Jay
After:
skip(2)
You get:
Priya
Neha
Jay
3. limit()
limit() is used to specify the maximum number of records to return.
db.students.find().limit(3)
Only 3 records are returned.
Rahul
Amit
Priya
4. Using sort(), skip(), and limit() together
This is especially useful for pagination.
db.students.find()
.sort({marks: -1})
.skip(2)
.limit(2)
Meaning:
- Sort marks from highest to lowest.
- Skip first 2 students.
- Display next 2 students.
Sorted data:
Amit 90
Neha 85
Rahul 75
Jay 70
Priya 65
After skip(2):
Rahul 75
Jay 70
Priya 65
After limit(2):
Rahul 75
Jay 70
Quick Reference
| Method | Purpose | Example |
|---|---|---|
sort() | Arrange records | .sort({marks: 1}) |
skip() | Skip records | .skip(2) |
limit() | Restrict records | .limit(3) |
Common combinations
// Highest marks first
db.students.find().sort({marks: -1})
// Skip first 5
db.students.find().skip(5)
// Show only 10 records
db.students.find().limit(10)
// Sort + limit
db.students.find().sort({marks: -1}).limit(3)
// Sort + skip + limit
db.students.find().sort({marks: -1}).skip(5).limit(10)
Easy way to remember:
sort()→ Arrangeskip()→ Ignorelimit()→ Restrict