MongoDB のコレクションからデータを読み取るときにインデックスのみを使用しようとしています。これは、いくつかの大きなドキュメントがあるためです。このクエリでは、必要なフィールドは 1 つだけです。
インデックスが multiKey インデックスの場合、indexOnly = true を使用できないことがわかりました。
これが私が作ったテストです:
db.test.drop()
db.test.insert({a:1})
db.test.ensureIndex({a:1})
db.test.find({a:1}, {_id:0, a:1}).explain()
-> indexOnly = true、isMultiKey = false
db.test.insert({a : [2,3]})
db.test.find({a:1}, {_id:0, a:1}).explain()
-> indexOnly = false、isMultiKey = true
ドキュメントには、マルチキー インデックスのいくつかの制限について言及されていますが、これについては言及されていません。multikey と indexonly の両方を使用する方法を知っている人はいますか?