1

クエリは次のとおりです。

$collection->find(array("x"=>new MongoId("..."))->skip(5)->limit(10);

Explainを使用すると、次の結果が得られます。

[n]=>10
[nscanned]=>15
[nscannedObjects]=>15

にインデックスがあり"x"ます。では、最初の5つのドキュメントをスキップする場合、スキャンされるオブジェクトの数が10ではなく15になるのはなぜですか?

4

1 に答える 1

5

5つスキップして結果を10に制限するということは、15の項目を考慮する必要があることを意味し、最初の5つはスキップされ、次の10が返されます。

したがって、nscannedは適切に15である必要があります。

nscannedObjectsはおそらく10であるはずですが、このバグ/制限のため、15としても表示されます。

于 2012-06-16T16:08:56.313 に答える