getIndexes() (インデックスの一覧)
最終更新:2026-10-09
getIndexes() (インデックスの一覧)
getIndexes() はコレクションのすべてのインデックスを返します。例: `db.users.getIndexes()`。各エントリはインデックス名、キー、一意性フラグを表示し、_id インデックスが常に先頭に来ます。クエリのパフォーマンスを診断したり、インデックスが存在するか確認したりする際の最初のツールです。
| カテゴリ | インデックスと管理 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
db.<collection>.getIndexes()
戻り値:name、key、unique などを持つインデックス情報ドキュメントの配列。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// getIndexes: users のすべてのインデックスを一覧表示する
const indexes = db.users.getIndexes()
indexes
出力:
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { age: 1 }, name: 'age_1' }
]
📌 注意事項
- _id インデックスは常に先頭
- createIndex が実際に反映されたかを確認するのに使う
- インデックスが無いとコレクションスキャンになる。確認して何を追加するか判断する
🏷️ 関連タグ
💡 関連ケース
📚 関連チュートリアル
❓ よくある質問
Qインデックスが作成されたことをどう確認しますか?
Adb.users.getIndexes() を呼び、リスト内にインデックス名があるか確認します。
Qなぜ getIndexes の結果に _id が常にあるのですか?
A_id インデックスは _id の一意性と検索パフォーマンスを強制するためにシステムが作成するもので、常に存在します。
Qクエリがインデックスを使っているかどうか確認するには?
Aクエリで .explain('executionStats') を実行し、totalDocsExamined などのフィールドを調べます。