MongoDB とドライバー
定義
db.collection.getIndexes()コレクションの既存のインデックス( 隠しインデックス や現在構築中のインデックスを含む)を識別して説明するドキュメントのリストを含む配列を返します。
db.collection.getIndexes()コレクションで を呼び出す必要があります。 (例: )。db.collection.getIndexes() collectionを、インデックス情報を返すコレクションの名前に変更します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
MongoDB Search インデックス
getIndexes() はMongoDB Search インデックスに関する情報を返しません。 Atlas Search インデックスの詳細については、$listSearchIndexes を使用してください。
クライアントの切断
db.collection.getIndexes()を発行したクライアントが操作が完了する前に切断された場合、 MongoDB はdb.collection.getIndexes() を使用してkillOp を終了対象としてマークします。
レプリカセット ノードの状態の制限
レプリカセット ノードでlistIndexes操作を実行するには、ノードがPRIMARYまたはSECONDARY状態である必要があります。 ノードがSTARTUP2などの別の状態にある場合、操作はエラーになります。
ワイルドカード インデックス
MongoDB 6.3、6.0.5、および 5.0.16 以降では、wildcardProjection フィールドには送信された形式でインデックス プロジェクションが格納されます。それ以前のバージョンでは、プロジェクションは正規化された形式で保存されている場合があります。
サーバーは同じ方法でインデックスを使用しますが、 コマンドとlistIndexes db.collection.getIndexes()コマンドの出力には違いが生じる場合があります。
必要なアクセス権
db.collection.getIndexes()アクセス制御が強制されているときに を実行するには、コレクションでlistIndexes の特権がユーザーに必要です。
readdb.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() を参照してください。