_id フィールドによる降順の並べ替えが、システムによって自動的に作成されたインデックスを利用するかどうかを調べようとしています。私はそれを理解するために Explain() を使用しようとしましたが、よくわかりません。データをより速く戻すために、降順で _id に追加のインデックスを作成する必要がありますか?
> db.foo.insert({ name: 'foo' });
> db.foo.insert({ name: 'bar' });
> db.foo.find();
{ "_id" : ObjectId("5142d30ca4a8b347cb678c1a"), "名前" : "foo" }
{ "_id" : ObjectId("5142d310a4a8b347cb678c1b"), "名前" : "バー" }
> db.foo.find().sort({ _id: -1 });
{ "_id" : ObjectId("5142d310a4a8b347cb678c1b"), "名前" : "バー" }
{ "_id" : ObjectId("5142d30ca4a8b347cb678c1a"), "名前" : "foo" }
> db.foo.find().sort({ _id: -1 }).explain();
{
"cursor" : "BtreeCursor_id_reverse",
"isMultiKey": false,
"n" : 2,
"nscannedObjects": 2,
"nscanned": 2,
"nscannedObjectsAllPlans": 2,
"nscannedAllPlans": 2,
"scanAndOrder": false,
"indexOnly": 偽,
"nYields": 0,
"nChunkSkips": 0,
「ミリ」:0、
"indexBounds": {
"_id": [
[
{
"$最大要素": 1
}、
{
"$最小要素": 1
}
]
]
}、
"サーバー": "localhost:27017"
}