db.collection.getIndexes()
定義
db.collection.getIndexes()
重要
mongosh メソッド
このページでは、
mongosh
メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
listIndexes
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
コレクションの既存のインデックス(隠しインデックスを含む)を識別して説明するドキュメントのリストを含む配列を返します。
コレクションで
db.collection.getIndexes()
を呼び出す必要があります。 例:db.collection.getIndexes() collection
を、インデックス情報を返すコレクションの名前に変更します。
動作
Atlas Search インデックス
getIndexes()
はAtlas Search インデックスに関する情報を返しません。 Atlas Search インデックスの詳細については、 $listSearchIndexes
をご利用ください。
クライアントの切断
MongoDB 4.2以降では、 db.collection.getIndexes()
を発行したクライアントが操作の完了前に切断した場合、MongoDB は killOp
を使用してdb.collection.getIndexes()
を終了対象としてマークし 。
レプリカセット ノードの状態の制限
レプリカセット ノードでlistIndexes
操作を実行するには、ノードがPRIMARY
またはSECONDARY
状態である必要があります。 ノードがSTARTUP2
などの別の状態にある場合、操作はエラーになります。
ワイルドカード インデックス
MongoDB 6.3、6.0.5、および 5.0.16 以降では、wildcardProjection
フィールドには送信された形式でインデックス プロジェクションが格納されます。それ以前のバージョンでは、プロジェクションは正規化された形式で保存されている場合があります。
サーバーは同じ方法でインデックスを使用しますが、 listIndexes
} コマンドとdb.collection.getIndexes()
コマンドの出力には違いが生じる場合があります。
必要なアクセス権
アクセス制御の強制時に db.collection.getIndexes()
を実行するには、コレクションで listIndexes
特権の所有者である必要があります。
組み込みロールread
には、データベース内のコレクションに対してdb.collection.getIndexes()
を実行するために必要な特権が付与されます。
出力
db.collection.getIndexes()
コレクションのインデックス情報を保持するドキュメントの配列を返します。以下に例を挙げます。
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "status" : 1 }, "name" : "status_1" }, { "v" : 2, "key" : { "points" : 1 }, "name" : "points_1" } ]
インデックス情報には、インデックスの作成に使用されるキーとオプションが含まれます。 インデックス オプションhidden
は、値がtrue
の場合にのみ使用できます。
キーとインデックスのオプションの詳細については、db.collection.createIndex()
を参照してください。