AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

$listClusterCatalog

$listClusterCatalog

バージョン8.0.10の新機能。

警告

$listClusterCatalog集計ステージはサポートされておらず、将来のリリースで安定することは保証されません。 このステージの特定の出力形式に依存する機能はビルドしないでください。出力は将来のリリースで変更される可能性があるためです。

$listClusterCatalog集計ステージでは、名前や作成オプションなど、クラスター内のコレクションの情報が出力されます。

$listClusterCatalog は、パイプラインの最初のステージである必要があります。

データベースに対してこのステージを呼び出す必要があります。このステージを管理データベースに対して実行すると、クラスター内のすべてのコレクションに関する情報が返されます。他のデータベースに対して実行すると、そのデータベース内のすべてのコレクションに関する情報が返されます。

このステージの構文は、次のとおりです。

{ $listClusterCatalog: { shards: true, balancingConfiguration: true }}

$listClusterCatalog ステージでは、次の任意フィールドを持つドキュメントが取得されます。

フィールド
説明

shards

任意。$listClusterCatalog を呼び出すときに shards: true を指定すると、ステージは返されるドキュメントにシャードのリストを含めることができます。

balancingConfiguration

任意。$listClusterCatalog を呼び出すときに balancingConfiguration: true を指定した場合、ステージは返されるオブジェクトに balancingEnabled、balancingEnabledReason、autoMergingEnabled、chunkSize フィールドを含めます。

$listClusterCatalog はコレクションごとにドキュメントを返します。各ドキュメントには、次のフィールドを含めることができます。

{ "ns" : <string>, "db" : <string>, "type" : <string>, "idIndex" : <document>, "options" : <document>, "info" : <document>, "sharded" : <boolean>, "shardKey" : <document>, "shards" : [<string>], "balancingEnabled" : <boolean>, "balancingEnabledReason" : <document>, "autoMergingEnabled" : <boolean>, "chunkSize" : <int> }

次の表には、$listClusterCatalog が返すフィールドに関する情報が含まれています。

フィールド
タイプ
デフォルトのクエリで返された
説明

ns

string

true

コレクションの完全な名前空間(形式は "<dbName>.<collectionName>")。

db

string

true

コレクションが配置されているデータベースの名前。

type

string

true

データ ストアのタイプ。コレクションの場合はcollection 、ビューの場合はview 、時系列コレクションの場合はtimeseriesを返します。

idIndex

ドキュメント

true

コレクションの _idインデックスに関する情報を提供します。listCollections で返された idIndexフィールドと同一。このフィールドは、ビューまたは時系列コレクションには存在しません。

options

ドキュメント

true

返されるドキュメントには、次のフィールドが含まれます。

  • viewOn:ドキュメント。ビューの作成元となるソースコレクションまたはビューの名前。ビューにのみ存在します。

  • pipeline: ドキュメントの配列。集計パイプラインステージの構成要素です。ビューにのみ存在します。

  • validator:ドキュメント。検証ルールまたは式を返します。

  • timeseries:ドキュメント。時系列オプションを返します。時系列バケットと時系列ビューにのみ存在します。

  • clusteredIndex: ドキュメントの配列。クラスター化されたインデックスを表します。

これらのオプションは、db.createCollection() で使用可能なオプションに直接対応します。詳しくは、「 シンタックス 」を参照してください。

info

ドキュメント

true

コレクションに関連する次のフィールドを一覧表示します。

  • readOnly: boolean。true の場合、データストアは読み取り専用になります。ビューでは常に true を使用します。

  • uuid: UUID。一度確立されると、コレクションUUIDは変更されません。コレクション UUID は、シャーディングされたクラスター内のレプリカセット ノードでもシャードでも同一のままです。このフィールドはビューまたは時系列ビューには存在しません。

sharded

ブール値

true

コレクションがシャーディングされているか、シャーディングされていないかを指定します。このフィールドは、レプリカセットサーバーにも存在します。

shardKey

ドキュメント

コレクションがシャーディングされている場合にのみ存在

コレクションのシャードキー。

shards

文字列の配列

false、入力ドキュメントで シャード を指定する必要があります

コレクションごとのシャード。

balancingEnabled

ブール値

false は、入力ドキュメントで balancingConfiguration を指定する必要があります

そのコレクションでバランシングが有効かどうかを指定します。このフィールドは、コレクションがシャーディングされている場合にのみ存在します。

balancingEnabledReason

ドキュメント

false は、入力ドキュメントで balancingConfiguration を指定する必要があります

バランシングを切り替えるために使用されたコマンドに関する情報を返します。このドキュメントには、以下のフィールドがあります。

  • enableBalancing:true configureCollectionBalancingがバランシングを切り替えるために使用された場合は

  • allowMigrations:true setAllowMigrationsがバランシングを切り替えるために使用された場合は

このフィールドは、コレクションがシャーディングされている場合にのみ存在します。

autoMergingEnabled

ブール値

false は、入力ドキュメントで balancingConfiguration を指定する必要があります

コレクションで AutoMerger が有効かどうかを指定します。このフィールドは、コレクションがシャーディングされている場合にのみ存在します。

chunkSize

整数

false は、入力ドキュメントで balancingConfiguration を指定する必要があります

コレクションのチャンク サイズをMiB単位で返します。このフィールドは、コレクションがシャーディングされている場合にのみ存在します。

このコマンドをadmin データベースに対して実行する場合は、 ロールに含まれるlistClusterCatalog clusterMonitor特権アクションが必要です。

このコマンドを特定のデータベースに対して実行するには、 ロールに含まれるlistCollections read特権アクションが必要です。

次の例では、sample_mflixデータベース内のすべてのコレクションからデフォルト情報を返します。

use sample_mflix db.aggregate([ { $listClusterCatalog: {} }])

この例を実行すると、sample_mflixデータベース内の各コレクションのドキュメントを含む配列が返されます。これらのドキュメントにはそれぞれ、前の表で説明したデフォルトのフィールドが含まれています。

[ { ns: "sample_mflix.movies", db: "sample_mflix", type: "collection", idIndex: { v: 2, key: { _id: 1 }, name: '_id' }, options: { ... }, sharded: false, info: { readOnly: false, uuid: new UUID("6c46c8b9-4999-4213-bcef-9a36b0cff228") } }, { ns: "sample_mflix.comments", db: "sample_mflix", type: "collection", options: { ... }, sharded: true, info: { readOnly: true, uuid: new UUID("6c448eb9-4090-4213-bbaf-9a36bb7fc98e") } shardKey: { _id: 1} }, ...]

シャーディングされたコレクションを持つデータベース内のすべてのコレクションのデフォルトフィールドとバランシング構成に関する情報を返すことができます。

次の例では、sample_mflixデータベースのバランシング構成を返します。

use sample_mflix db.aggregate([ { $listClusterCatalog: { balancingConfiguration: true } }])

上記の例では、各コレクションのドキュメントを含む配列が返されます。これらの各ドキュメントには、シャーディングされたコレクションのデフォルトフィールドと、balancingEnabled、balancingEnabledReason、autoMergingEnabled、chunkSize フィールドが含まれています。次のコードは、この出力の例を示しています。

[ { ns: "sample_mflix.movies", db: "sample_mflix", type: "collection", idIndex: { v: 2, key: { _id: 1 }, name: '_id' }, options: { ... }, sharded: false, ... }, { ns: "sample_mflix.comments", db: "sample_mflix", type: "collection", sharded: true, shardKey: { _id: 1}, balancingEnabled: true, balancingEnabledReason: { enableBalancing: true, allowMigrations: false }, autoMergingEnabled: false, chunkSize: 256, ... }, ...]
このページを評価