インデックス付きフィールドのいずれかがサブドキュメント内のフィールドです。サブドキュメントのフィールドにインデックスを付けるには、ドット表記を使用します。たとえば、次の形式のドキュメントを持つコレクション users を考えてみましょう: { _id: 1, user: { login: "tester" } } コレクションには次のインデックスがあります。
{ ユーザー: 1 }
{ "user.login": 1 }
{ user: 1 } インデックスは、次のクエリをカバーしています。
db.users.find( { ユーザー: { ログイン: "テスター" } }, { ユーザー: 1, _id: 0 } )
ただし、{ "user.login": 1 } インデックスは次のクエリをカバーしていません。
db.users.find( { "user.login": "テスター" }, { "user.login": 1, _id: 0 } )
ただし、クエリは { "user.login": 1 } インデックスを使用して一致するドキュメントを検索します。
{ "user.login": 1 } インデックスがクエリをカバーしていない根本的な原因を知りたいです。
ありがとうございました