使用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 在后台使用相同的机制。
我想确认使用 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 在后台使用相同的机制。