Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

listIndexes

項目一覧

  • 定義
  • 互換性
  • 構文
  • コマンドフィールド
  • 必要なアクセス権
  • 動作
  • 出力
listIndexes

指定されたコレクションのインデックスに関する情報を返します。返されるインデックス情報には、インデックスの作成に使用されたキーとオプション、および 非表示のインデックスが含まれます。オプションで、結果の最初のバッチのバッチ サイズを設定できます。

Tip

mongoshでは、このコマンドはdb.collection.getIndexes()ヘルパー メソッドを通じて実行することもできます。

ヘルパー メソッドはmongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.runCommand (
{
listIndexes: "<collection-name>",
cursor: { batchSize: <int> },
comment: <any>
}
)

このコマンドは、次のフィールドを使用します。

フィールド
タイプ
説明
listIndexes
string
コレクションの名前。
cursor.batchSize
integer
オプション。 カーソルのバッチするサイズを指定します。
comment
any

任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。

コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。

listIndexes コマンドに設定されたコメントは、listIndexes カーソルで実行される後続の getMore コマンドに継承されます。

アクセス制御が適用されている場合、組み込みの read ロールは、データベース内のコレクションに対して listIndexes を実行するために必要な特権を提供します。

listIndexes Atlas Search インデックスに関する情報を返しません。代わりに、 $listSearchIndexesを使用してください。

MongoDB 4.2以降では、 listIndexesを発行したクライアントが操作の完了前に切断した場合、MongoDB は killOp を使用してlistIndexesを終了対象としてマークし

レプリカセット ノード上で listIndexes 操作を実行するには、ノードが PRIMARY または SECONDARY状態である必要があります。ノードが STARTUP2 などの別の状態にある場合、操作はエラーになります。

MongoDB 6.3、6.0.5、および 5.0.16 以降では、wildcardProjection フィールドには送信された形式でインデックス プロジェクションが格納されます。それ以前のバージョンでは、プロジェクションは正規化された形式で保存されている場合があります。

サーバーは同じ方法でインデックスを使用しますが、 listIndexes } コマンドとdb.collection.getIndexes()コマンドの出力には違いが生じる場合があります。

listIndexes.cursor

カーソルによって指定されたバッチ サイズで返される結果セット。バッチ出力内の各ドキュメントには以下のフィールドが含まれます。

フィールド
タイプ
説明
id
integer
64 ビット整数。ゼロの場合、それ以上の情報のバッチはありません。ゼロ以外の場合、カーソル ID は、getMore コマンドで使用して次のインデックス情報のバッチを取得できます。
ns
string
データベースとコレクションの名前は次の形式です。 <database-name>.<collection-name>
firstBatch
ドキュメント

インデックス情報には、インデックスの作成に使用されるキーとオプションが含まれます。インデックス オプション hidden は、値が true の場合にのみ存在します。

必要に応じて追加の結果を検索するには、getMore を使用します。

listIndexes.ok

コマンドの戻り値です。値が1の場合は成功を示します。

この例では、カーソル バッチ サイズを指定せずに contacts コレクションのインデックスを一覧表示します。

1db.runCommand (
2 {
3 listIndexes: "contacts"
4 }
5)
1{
2 cursor: {
3 id: Long("0"),
4 ns: 'test.contacts',
5 firstBatch: [
6 { v: 2, key: { _id: 1 }, name: '_id_', ns: 'test.contacts' },
7 { v: 2, key: { a: 1 }, name: 'a_1', ns: 'test.contacts' }
8 ]
9 },
10 ok: 1
11}

この例では、contacts コレクションのインデックスを一覧表示し、カーソル バッチ サイズを 1 に指定します。

1db.runCommand (
2 {
3 listIndexes: "contacts", cursor: { batchSize: 1 }
4 }
5)
1{
2 cursor: {
3 id: Long("4809221676960028307"),
4 ns: 'test.contacts',
5 firstBatch: [ { v: 2, key: { _id: 1 }, name: '_id_', ns: 'test.contacts' } ]
6 },
7 ok: 1
8}

この例では、getMore を使用して、contacts コレクションから追加の結果バッチを検索します。

1db.runCommand(
2 {
3 getMore: Long("4809221676960028307"), collection: "contacts"
4 }
5)
1{
2 cursor: {
3 nextBatch: [ { v: 2, key: { a: 1 }, name: 'a_1', ns: 'test.contacts' } ],
4 id: Long("0"),
5 ns: 'test.contacts'
6 },
7 ok: 1
8}

戻る

listDatabases