MongoDB とドライバー
このページでは、mongosh メソッドについて説明します。MongoDBドライバーで同等のメソッドを確認するには、 プログラミング言語の対応するページを参照してください。
定義
db.collection.getIndexes()コレクション上の既存のインデックスを識別・説明するドキュメントのリストを保持する配列を返します。これには、 隠しインデックスや現在構築中のインデックスが含まれます。
コレクションで
db.collection.getIndexes()を呼び出す必要があります。 例:db.collection.getIndexes() collectionを、インデックス情報を返すコレクションの名前に変更します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
Atlas Search インデックス
getIndexes() はAtlas 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に対する特権が必要です。
組み込みロール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() を参照してください。