使用github.com/icza/minquery直接查询第3页的值

Using github.com/icza/minquery to directly query page 3 value

我想确认使用 minquery 获取 skip(3) 值的正确方法,1. foreach skip,获取 1,2,3 页数据,然后 return 第三个值?或 2. 使用一种方法获取 skip(3) 的光标。如果第二个是正确的,如何获得跳过(3)页的光标?谢谢

您不能直接使用 github.com/icza/minquery. The purpose of minquery is to not have to use Query.Skip() 跳过文档(因为当 "skippable" 文档的数量增加时效率会降低)。跳过 3 个文档的唯一方法是查询超过 3 个,并丢弃前 3 个。

minquery 适用于您不必跳过初始文档的情况。 minquery 要求你遍历文档,并获取对最后返回的文档的索引条目进行编码的游标(此游标由 MinQuery.All() 返回给你)。当你需要下一页时,你必须使用你在上一个查询中获取的游标,然后它可以列出后续文档而不必跳过任何内容,因为编码索引条目可以用于跳转到上一个查询完成列表的地方文档。

想想 GMail:您总是可以跳转到电子邮件的 下一页 (和上一页),但是您无法 "magically" 跳到第 10 页或第 100 页:GMail 在后台使用相同的机制。