Do I need an index for pagination?
Yes. Both offset and cursor need an index on the sort or cursor field. Without an index, MongoDB scans the whole collection, and cursor pagination is not faster than offset. Index the field you sort by.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Offset Pagination vs Cursor Pagination in MongoDB
Offset uses skip and limit; client can jump to any page; slow for large offsets. Cursor uses a cursor field (e.g., createdAt); client can only go next/prev; fast for large collections; stable when new items are inserted.
For large collections (> 10000 docs) or infinite scroll. Cursor is fast because MongoDB uses an index on the cursor field. It is stable: new items do not cause duplicates or skips between requests.
For small collections or when the client needs page numbers ('showing 1-20 of 432'). Offset is simple and lets the client jump to any page. Slow for large offsets because MongoDB scans the skipped docs.
Still have questions?
Browse all our FAQs or reach out to our support team
