Вы не можете пропустить документы напрямую, используя github.com/icza/minquery
.Цель minquery
состоит в том, чтобы не использовать Query.Skip()
(потому что это становится менее эффективным, когда растет число «пропускаемых» документов).Единственный способ пропустить 3 документа - запросить более 3 и выбросить первые 3.
minquery
для случаев, когда вам не нужно пропускать исходные документы.minquery
требует от вас перебирать документы и получать курсор, который кодирует элемент указателя последнего возвращенного документа (этот курсор возвращается вам MinQuery.All()
).Когда вам нужна следующая страница, вы должны использовать курсор, который вы приобрели в предыдущем запросе, а затем он может перечислять последующие документы, не пропуская ничего, потому что закодированная запись индекса может использоваться для перехода туда, где последний запрос завершил перечислениедокументы.
Подумайте о GMail: вы всегда можете просто перейти на следующую (и предыдущую) страницу электронных писем, но у вас нет возможности «волшебным образом» перейти на 10-ю или 100-ю страницу: GMail использует тот же механизм под капотом.