一起使用MongoDB Limit()和Skip()

Ash*_*sh 1 php indexing mongodb

这是查询:

$collection->find(array("x"=>new MongoId("..."))->skip(5)->limit(10);
Run Code Online (Sandbox Code Playgroud)

使用说明给出以下结果:

[n]=>10
[nscanned]=>15
[nscannedObjects]=>15
Run Code Online (Sandbox Code Playgroud)

有索引"x".那么,如果我跳过前5个文件,为什么扫描对象的数量是15而不是10?

Asy*_*sky 5

跳过5然后将结果限制为10意味着需要考虑15个项目,前5个将被跳过,接下来的10个将被返回.

所以nscanned应该是15.

nscannedObjects应该是10,但是,由于这个bug /限制,它也显示为15.