以下のシェルの例を参照してください (db.test が存在しないことを前提としています)。
db.test.ensureIndex({info: 1, _id: 1})
db.test.insert({info: "info1"})
db.test.insert({info: "info2"})
db.test.insert({info: "info3"})
db.test.find({info: "info1"}).explain().indexOnly //is false
db.test.find({info: "info1"}, {_id: 1, info: 1}).explain().indexOnly //is true
2 つのクエリは厳密に同等ですが、最初explain
のクエリは 2indexOnly : false
番目のクエリに含まれています。indexOnly : true
db.test.find({info: "info1"})
カバーされたクエリではないのはなぜですか?