$collStats
$collStats
は、指定されたコレクションの統計情報を返します。 $collstats
は、集計パイプラインの最初のステージである必要があります。 詳細については、 $collStatsを参照してください。 Data Federation では、 $collStats
は特定のコレクションまたはビューのパーティションに関する情報を取得するためにのみ使用できます。
構文
Atlas Data Federation では、 $collStatsは空のドキュメントを受け入れます。 オプション フィールドcount
のみをサポートし、サポートされていないオプションが指定されている場合はエラーを返します。
db.<collection-name>|<view-name>.aggregate([{ "$collStats" : { "count" : {} } }])
フィールド
フィールド | タイプ | 説明 | 必要性 |
---|---|---|---|
| ドキュメント | 返されるドキュメントに、パーティション内のドキュメントの合計数を追加します。 | 任意 |
出力
$collStats
は、各パーティションのドキュメント内の次のフィールドを返します。
フィールド | タイプ | 説明 | |
---|---|---|---|
| 数値 | パーティション内のドキュメントの合計数。 これは、 | |
| string | 現在のコレクションまたはビューの名前空間は、 | |
| ドキュメント | ソース、形式、サイズ、 パーティション属性など、パーティションの詳細(存在する場合)。 | |
| string | ||
| ドキュメント |
| |
| 整数 | パーティションのサイズ。 | |
| string | パーティションのソース。 値は次のいずれかになります。
| |
| string | Atlas クラスターの MongoDB バージョン。
たとえば、 |
例
次の例では、クラウドストレージフェデレーティッドデータベースインスタンスストア内の ファイルを含む コレクションからパーティションを検索するための $collStats構文を示します。s3Db.abc
3
use s3Db db.abc.aggregate([ {$collStats: {}} ])
上記のコマンドは、次の出力を返します。
{ "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2018) }, "size" : 139, "source" : "s3://my-bucket/s3Db/abc/2018/1.json?delimiter=%2F®ion=us-east-1" } } { "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2017) }, "size" : 124, "source" : "s3://my-bucket/s3Db/abc/2017/1.json?delimiter=%2F®ion=us-east-1" } } { "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2017) }, "size" : 130, "source" : "s3://my-bucket/s3Db/abc/2017/2.json?delimiter=%2F®ion=us-east-1" } }
次の例では、 mySandboxCluster
という名前の Atlas クラスター内のatlasDb.sampleColl
コレクションからパーティションを検索するための$collStats構文を示しています。
use atlasDb db.sampleColl.aggregate([ {$collStats: {}} ])
上記のコマンドは、次の出力を返します。
{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" } }
次の例は、パーティション内のドキュメントの合計数を取得するための$collStats構文を示しています。
use s3Db db.abc.aggregate([ {$collStats: {"count" : {} }} ])
上記のコマンドは、次の出力を返します。
{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" }, "count" : 23530}
Errors
collStats引数ドキュメントに、MongoDB サーバーによって許可されているが Atlas Data Federation によって許可されていないオプションのいずれかが含まれている場合は、次のようなエラーが返されます。
{ "ok" : 0, "errmsg" : "$collStats param 'latencyStats' is not valid for Data Federation, correlationID = 1622929884a47d16f4888a1c", "code" : 9, "codeName" : "FailedToParse" }