Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

$collStats

項目一覧

  • 構文
  • フィールド
  • 出力
  • Errors

$collStats は、指定されたコレクションの統計情報を返します。 $collstatsは、集計パイプラインの最初のステージである必要があります。 詳細については、 $collStatsを参照してください。 Data Federation では、 $collStatsは特定のコレクションまたはビューのパーティションに関する情報を取得するためにのみ使用できます。

Atlas Data Federation では、 $collStatsは空のドキュメントを受け入れます。 オプション フィールドcountのみをサポートし、サポートされていないオプションが指定されている場合はエラーを返します。

db.<collection-name>|<view-name>.aggregate([{ "$collStats" : { "count" : {} } }])
フィールド
タイプ
説明
必要性

count

ドキュメント

返されるドキュメントに、パーティション内のドキュメントの合計数を追加します。

任意

$collStats は、各パーティションのドキュメント内の次のフィールドを返します。

フィールド
タイプ
説明

count

数値

パーティション内のドキュメントの合計数。 これは、 countオプションを指定した場合にのみ返されます。

ns

string

現在のコレクションまたはビューの名前空間は、 [database].[collection|view]形式で表示されます。

partition

ドキュメント

ソース、形式、サイズ、 パーティション属性など、パーティションの詳細(存在する場合)。

partition.format

string

ファイルの形式。 値は、サポートされているデータ形式のいずれかになります。またはクラウドクラスター内のデータの場合は MONGOAtlasになります。

partition.attributes

ドキュメント

pathクラウドストレージパーティションの で定義されているこのパーティションのパーティション属性。空のドキュメントは、パーティションのデータソースにパーティション属性がないことを示します。

partition.size

整数

パーティションのサイズ。

partition.source

string

パーティションのソース。 値は次のいずれかになります。

  • クラウドストレージ上のファイルへのパス。

  • Atlas 上のパーティションのクラスター名。

partition.version

string

Atlas クラスターの MongoDB バージョン。 $collStatsステージでは、Atlas クラスター データ ストアに対してこのフィールドのみが返されます。 値の形式は次のとおりです。

<major-version-number>.<minor-version-number>.<patch-version-number>

たとえば、7.0.1

次の例では、クラウドストレージフェデレーティッドデータベースインスタンスストア内の ファイルを含む コレクションからパーティションを検索するための $collStats構文を示します。s3Db.abc3

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&region=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&region=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&region=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}

collStats引数ドキュメントに、MongoDB サーバーによって許可されているが Atlas Data Federation によって許可されていないオプションのいずれかが含まれている場合は、次のようなエラーが返されます。

{
"ok" : 0,
"errmsg" : "$collStats param 'latencyStats' is not valid for Data Federation, correlationID = 1622929884a47d16f4888a1c",
"code" : 9,
"codeName" : "FailedToParse"
}

戻る

集計パイプライン