Вам нужен только один запрос.Попробуйте это в оболочке:
for(var i = 0; i < 1000; i++) db.test.save({a:i})
cursor = db.test.find().skip(10).limit(10)
Теперь вы можете получить общий размер набора результатов:
cursor.count()
1000
И размер набора результатов с учетом пропуска и ограничения:
cursor.count(true)
10
Обратите внимание, что сервер выполнит всю работу, необходимую для определения обоих чисел, и будет выполнен новый запрос подсчета, если на сервере доступно больше данных, чем было возвращено с первыми результатами.Другими словами, более чистый код, но не всегда более производительный.