Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 使用github.com/icza/minquery直接查询第3页的值_Mongodb_Go_Mgo - Fatal编程技术网

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

Mongodb 使用github.com/icza/minquery直接查询第3页的值,mongodb,go,mgo,Mongodb,Go,Mgo,我想确认使用minquery 1获取skip(3)值的正确方法。对于每个跳过,获取1,2,3页数据,然后返回第三个值?或2。使用一种方法获取跳过(3)的光标。如果2rd正确,如何获取跳过(3)页的光标?谢谢。您不能直接使用跳过文档。minquery的目的是不必使用(因为当“可跳过”文档的数量增加时,这种方法的效率会降低)。跳过3个文档的唯一方法是查询3个以上的文档,然后扔掉前3个 minquery适用于不必跳过初始文档的情况minquery要求您迭代文档,并获取对上一个返回文档的索引项进行编码的

我想确认使用minquery 1获取skip(3)值的正确方法。对于每个跳过,获取1,2,3页数据,然后返回第三个值?或2。使用一种方法获取跳过(3)的光标。如果2rd正确,如何获取跳过(3)页的光标?谢谢。

您不能直接使用跳过文档。
minquery
的目的是不必使用(因为当“可跳过”文档的数量增加时,这种方法的效率会降低)。跳过3个文档的唯一方法是查询3个以上的文档,然后扔掉前3个

minquery
适用于不必跳过初始文档的情况
minquery
要求您迭代文档,并获取对上一个返回文档的索引项进行编码的光标(此光标通过
minquery.All()
返回给您)。当您需要下一页时,您必须使用在上一次查询中获取的光标,然后它可以列出后续文档而无需跳过任何内容,因为编码的索引项可以用于跳转到上一次查询完成列出文档的位置


想想GMail:你总是可以跳转到下一页(和上一页)的电子邮件,但你无法“神奇地”跳转到第10页或第100页:GMail在引擎盖下使用相同的机制。

谢谢你的回答,这是否意味着,如果请求第3页,我仍然需要从第1页获取文档,2并使用第二个光标检索第3页文档?@sophiageng如果您需要第3页,您在请求第2页时应该已经有一个由minquery返回的光标,因此您只需设置该光标,就可以获得第3页的文档。如果您没有任何游标,但仍然需要第3页,则运行一个包含前3页文档的查询,丢弃前2页的文档并使用第三页。是的,我需要通过查询方法获取上一个游标,谢谢大家。还有一个问题,游标字段,因为我有访问客户查询条件来查询分页文档,如何在MongoDB中创建索引,我应该创建所有场景索引吗?@sophiageng是的,它们必须匹配。