Pagination
Pagination: free step-by-step lesson with examples, common mistakes, and interview tips — part of MongoDB Tutorial on Toolliyo Academy.
On this page
MongoDB Tutorial · Lesson 29 of 100
Pagination
Foundations & CRUD ✓ → Queries & Schema → Aggregation & Scale → Atlas & Projects
Queries & Schema · 2 — Design · ~6 min · MongoDB — Query Operators
What is this?
Pagination returns a slice of results using limit and skip, or better, range queries on _id/createdAt (cursor pagination). skip becomes slow on deep pages.
Why should you care?
Product grids and chat history cannot load millions of docs at once. Page size 20 keeps APIs snappy on mobile networks in India.
See it live — copy this example
Open mongosh or MongoDB Compass, select database nosqlverse, then run the example. Change one field and run again.
// Page 1 and 2 with skip (ok for small data)
db.products.find().sort({ _id: 1 }).skip(0).limit(2)
db.products.find().sort({ _id: 1 }).skip(2).limit(2)
// Cursor-style next page after lastId
db.products.find({ _id: { $gt: ObjectId("64f000000000000000000002") } })
.sort({ _id: 1 })
.limit(2)
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- skip/limit implements classic pages.
- Cursor pagination asks for _id greater than the last seen id — scales better because it uses the index instead of skipping thousands.
Practice next
- Insert 6 products.
- Fetch page size 2 with skip 0, 2, 4.
- build next-page using $gt on the last _id.
- Paginate by createdAt: -1 with $lt cursor.
- Return nextCursor in a mock API response shape.
Remember
limit caps page size. skip works for small offsets. Prefer cursor pagination for infinite scroll.
Flipkart product grid pages
Category API returns 24 items and a nextCursor based on sort keys.
Outcome: Shoppers scroll smoothly without duplicates when filters stay the same.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!