Использование github.com/icza/minquery для прямого запроса значения страницы 3 - PullRequest
0 голосов
/ 16 октября 2018

Я хочу подтвердить правильный способ получения значений skip (3) с помощью minquery, 1. foreach пропустить, получить данные 1,2,3 страницы, а затем вернуть 3-е значение?или 2. использовать способ, чтобы получить курсор skip (3).если 2-й прав, как получить курсор на странице skip (3)?Спасибо.

1 Ответ

0 голосов
/ 16 октября 2018

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

minquery для случаев, когда вам не нужно пропускать исходные документы.minquery требует от вас перебирать документы и получать курсор, который кодирует элемент указателя последнего возвращенного документа (этот курсор возвращается вам MinQuery.All()).Когда вам нужна следующая страница, вы должны использовать курсор, который вы приобрели в предыдущем запросе, а затем он может перечислять последующие документы, не пропуская ничего, потому что закодированная запись индекса может использоваться для перехода туда, где последний запрос завершил перечислениедокументы.

Подумайте о GMail: вы всегда можете просто перейти на следующую (и предыдущую) страницу электронных писем, но у вас нет возможности «волшебным образом» перейти на 10-ю или 100-ю страницу: GMail использует тот же механизм под капотом.

...