Мы можем сделать это с помощью skip () и limit ().
MongoDB изначально поддерживает операцию разбиения по страницам с помощью команд skip () и limit (). Директива skip (n) сообщает MongoDB, что она должна пропускать n результатов, а директива limit (n) указывает MongoDB ограничивать длину результата n результатами. Обычно вы будете использовать с курсором директивы skip () и limit (), но для иллюстрации сценария мы предоставляем консольные команды, которые позволят достичь тех же результатов. Кроме того, для краткости кода исключен также код проверки лимитов:
//Page 1
db.users.find().limit (10)
//Page 2
db.users.find().skip(10).limit(10)
//Page 3
db.users.find().skip(20).limit(10)
Понятно. В общем, чтобы получить страницу n, код выглядит следующим образом:
db.users.find().skip(pagesize*(n-1)).limit(pagesize)
https://scalegrid.io/blog/fast-paging-with-mongodb/