定義
- collStats
- バージョン 6.2 から非推奨。 - バージョン6.2以降では、 - $collStats集計ステージを使用します。- collStatsコマンドは、指定されたコレクションのさまざまなストレージ統計を返します。- Tip- mongoshでは、このコマンドは- stats()ヘルパーメソッドを通じて実行することもできます。- collStats- dataSize()出力の特定のフィールドには、- estimatedDocumentCount()、- isCapped()、- latencyStats()、- storageSize()、 、- totalIndexSize()、- totalSize()ヘルパーメソッドを使用してアクセスできます。- ヘルパー メソッドは - mongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。- collStatsを実行するには、- db.runCommand( { <command> } )メソッドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
構文
このコマンドの構文は、次のとおりです。
db.runCommand(    {      collStats: <string>,      scale: <int>    } ) 
コマンドフィールド
このコマンドは、次のフィールドを使用します。
| フィールド | タイプ | 説明 | 
|---|---|---|
| 
 | string | ターゲット コレクションの名前。 | 
| 
 | 整数 | 任意。各種サイズデータのスケール係数(フィールド名に測定単位が指定されているサイズを除く)。この値のデフォルトは 1 で、サイズデータをバイト数で返します。バイトではなくキロバイトを表示するには、 整数以外のスケール係数を指定した場合、MongoDB は指定された係数の整数部分を使用します。たとえば、スケール係数を  スケール係数は、影響を受けるサイズの値を整数に丸めます。 | 
動作
編集
Queryable Encryptionを使用する場合、 $collStatsの出力は暗号化されたコレクションの特定の情報を編集します。
- 出力は を省略します - "queryExecStats"
- 出力は を省略します - "latencyStats"
- 出力には、 - "WiredTiger"が存在する場合は編集され、- urlフィールドのみが含まれます。
スケーリングされたサイズ
メトリクス名("bytes
currently in the cache"など)が特に指定されていない限り、サイズに関連する値はバイト単位で表示され、 scale を使用して上書きできます。
スケール係数は、影響を受けるサイズの値を整数に丸めます。
予期しないシャットダウン後の精度
Wired Tiger のストレージ エンジンを使用する mongod の不正シャットダウン後、collStats によって報告されたサイズ統計が不正確になる可能性があります。
ドリフトの量は、チェックポイントからクリーン シャットダウンまでの間に実行された挿入、アップデート、または削除操作の数によって異なります。チェックポイントは通常、60 秒ごとに発現します。ただし、デフォルト以外の --syncdelay 設定で実行されている mongod インスタンスでは、チェックポイントの頻度が増減する可能性があります。
不正なシャットダウン後に統計を復元するには、mongod の各コレクションに対して validate を実行します。
不正なシャットダウン後:
進行中のインデックス
collStats には、現在構築中のインデックスに関する情報が含まれています。詳細については、以下を参照してください。
レプリカセット ノードの状態の制限
レプリカセット ノードでcollStats操作を実行するには、ノードがPRIMARYまたはSECONDARY状態である必要があります。 ノードがSTARTUP2などの別の状態にある場合、操作はエラーになります。
存在しないコレクション
存在しないコレクションに対して collStats を実行する場合、データベースの実装によっては、エラーが返されるのではなく collStats は、出力フィールドに 0 値が返される場合があります。
以下に例を挙げます。
db.runCommand( { collStats : "nonExistentCollection" } ) 
フィールドに 0 値を含む出力例は以下のとおりです。
{    ns: 'test.nonExistentCollection',    size: 0,    count: 0,    ... } 
例
次の操作では、restaurants コレクションに対して collStats コマンドを実行し、1024 バイトの増やすを指定します。
db.runCommand( { collStats : "restaurants", scale: 1024 } ) 
次のドキュメントは、collStats 出力の表現を示しています。コレクションとストレージ エンジンの構成によっては、出力フィールドが異なる場合があります。
{   "ns" : <string>,   "size" : <number>,   "timeseries" : {      "bucketsNs" : <bucketName>,      "bucketCount" : <number>,      "avgBucketSize" : <number>,      "numBucketInserts" : <number>,      "numBucketUpdates" : <number>,      "numBucketsOpenedDueToMetadata" : <number>,      "numBucketsClosedDueToCount" : <number>,      "numBucketsClosedDueToSize" : <number>,      "numBucketsClosedDueToTimeForward" : <number>,      "numBucketsClosedDueToTimeBackward" : <number>,      "numBucketsClosedDueToMemoryThreshold" : <number>,      "numCommits" : <number>,      "numWaits" : <number>,      "numMeasurementsCommitted" : <number>,      "avgNumMeasurementsPerCommit": <number>   },   "count" : <number>,   "avgObjSize" : <number>,   "numOrphanDocs" : <number>,      // Available starting in MongoDB 6.0   "storageSize" : <number>,   "freeStorageSize" : <number>,   "capped" : <boolean>,   "max" : <number>,   "maxSize" :  <number>,   "wiredTiger" : {      "metadata" : {         "formatVersion" : <num>      },      "creationString" : <string>      "type" :  <string>,      "uri" :  <string>,      "LSM" : {         "bloom filter false positives" : <number>,         "bloom filter hits" : <number>,         "bloom filter misses" : <number>,         "bloom filter pages evicted from cache" : <number>,         "bloom filter pages read into cache" : <number>,         "bloom filters in the LSM tree" : <number>,         "total size of bloom filters" : <number>,         "chunks in the LSM tree" : <number>,         "highest merge generation in the LSM tree" : <number>,         "queries that could have benefited from a Bloom filter that did not exist" : <number>,         "sleep for LSM checkpoint throttle" : <number>,         "sleep for LSM merge throttle" : <number>         "total size of bloom filters" : <number>      },      "block-manager" : {          "allocations requiring file extension" : <number>,          "blocks allocated" : <number>,          "blocks freed" : <number>,          "checkpoint size" : <number>,          "file allocation unit size" : <number>,          "file bytes available for reuse" : <number>,          "file magic number" : <number>,          "file major version number" : <number>,          "file size in bytes" : <number>,          "minor version number" : <number>      },      "btree" : {          "btree checkpoint generation" : <number>,          "column-store fixed-size leaf pages" : <number>,          "column-store internal pages" : <number>,          "column-store variable-size RLE encoded values" : <number>,          "column-store variable-size deleted values" : <number>,          "column-store variable-size leaf pages" : <number>,          "fixed-record size" : <number>,          "maximum internal page key size" : <number>,          "maximum internal page size" : <number>,          "maximum leaf page key size" : <number>,          "maximum leaf page size" : <number>,          "maximum leaf page value size" : <number>,          "maximum tree depth" : <number>,          "number of key/value pairs" : <number>,          "overflow pages" : <number>,          "pages rewritten by compaction" : <number>,          "row-store empty values" : <number>,          "row-store internal pages" : <number>,          "row-store leaf pages" : <number>      },      "cache" : {         "bytes currently in the cache" : <number>,         "bytes dirty in the cache cumulative" : <number>,         "bytes read into cache" : <number>,         "bytes written from cache" : <number>,         "checkpoint blocked page eviction" : <number>,         "data source pages selected for eviction unable to be evicted" : <number>,         "eviction walk passes of a file" : <number>,         "eviction walk target pages histogram - 0-9" : <number>,         "eviction walk target pages histogram - 10-31" : <number>,         "eviction walk target pages histogram - 128 and higher" : <number>,         "eviction walk target pages histogram - 32-63" : <number>,         "eviction walk target pages histogram - 64-128" : <number>,         "eviction walks abandoned" : <number>,         "eviction walks gave up because they restarted their walk twice" : <number>,         "eviction walks gave up because they saw too many pages and found no candidates" : <number>,         "eviction walks gave up because they saw too many pages and found too few candidates" : <number>,         "eviction walks reached end of tree" : <number>,         "eviction walks started from root of tree" : <number>,         "eviction walks started from saved location in tree" : <number>,         "hazard pointer blocked page eviction" : <number>,         "in-memory page passed criteria to be split" : <number>,         "in-memory page splits" : <number>,         "internal pages evicted" : <number>,         "internal pages split during eviction" : <number>,         "leaf pages split during eviction" : <number>,         "modified pages evicted" : <number>,         "overflow pages read into cache" : <number>,         "page split during eviction deepened the tree" : <number>,         "page written requiring cache overflow records" : <number>,         "pages read into cache" : <number>,         "pages read into cache after truncate" : <number>,         "pages read into cache after truncate in prepare state" : <number>,         "pages read into cache requiring cache overflow entries" : <number>,         "pages requested from the cache" : <number>,         "pages seen by eviction walk" : <number>,         "pages written from cache" : <number>,         "pages written requiring in-memory restoration" : <number>,         "tracked dirty bytes in the cache" : <number>,         "unmodified pages evicted" : <number>      },      "cache_walk" : {         "Average difference between current eviction generation when the page was last considered" : <number>,         "Average on-disk page image size seen" : <number>,         "Average time in cache for pages that have been visited by the eviction server" : <number>,         "Average time in cache for pages that have not been visited by the eviction server" : <number>,         "Clean pages currently in cache" : <number>,         "Current eviction generation" : <number>,         "Dirty pages currently in cache" : <number>,         "Entries in the root page" : <number>,         "Internal pages currently in cache" : <number>,         "Leaf pages currently in cache" : <number>,         "Maximum difference between current eviction generation when the page was last considered" : <number>,         "Maximum page size seen" : <number>,         "Minimum on-disk page image size seen" : <number>,         "Number of pages never visited by eviction server" : <number>,         "On-disk page image sizes smaller than a single allocation unit" : <number>,         "Pages created in memory and never written" : <number>,         "Pages currently queued for eviction" : <number>,         "Pages that could not be queued for eviction" : <number>,         "Refs skipped during cache traversal" : <number>,         "Size of the root page" : <number>,         "Total number of pages currently in cache" : <number>      },      "compression" : {         "compressed page maximum internal page size prior to compression" : <number>,         "compressed page maximum leaf page size prior to compression " : <number>,         "compressed pages read" : <number>,         "compressed pages written" : <number>,         "page written failed to compress" : <number>,         "page written was too small to compress" : 1      },      "cursor" : {         "bulk loaded cursor insert calls" : <number>,         "cache cursors reuse count" : <number>,         "close calls that result in cache" : <number>,         "create calls" : <number>,         "insert calls" : <number>,         "insert key and value bytes" : <number>,         "modify" : <number>,         "modify key and value bytes affected" : <number>,         "modify value bytes modified" : <number>,         "next calls" : <number>,         "open cursor count" : <number>,         "operation restarted" : <number>,         "prev calls" : <number>,         "remove calls" : <number>,         "remove key bytes removed" : <number>,         "reserve calls" : <number>,         "reset calls" : <number>,         "search calls" : <number>,         "search near calls" : <number>,         "truncate calls" : <number>,         "update calls" : <number>,         "update key and value bytes" : <number>,         "update value size change" : <num>      },      "reconciliation" : {         "dictionary matches" : <number>,         "fast-path pages deleted" : <number>,         "internal page key bytes discarded using suffix compression" : <number>,         "internal page multi-block writes" : <number>,         "internal-page overflow keys" : <number>,         "leaf page key bytes discarded using prefix compression" : <number>,         "leaf page multi-block writes" : <number>,         "leaf-page overflow keys" : <number>,         "maximum blocks required for a page" : <number>,         "overflow values written" : <number>,         "page checksum matches" : <number>,         "page reconciliation calls" : <number>,         "page reconciliation calls for eviction" : <number>,         "pages deleted" : <number>      },      "session" : {         "object compaction" : <number>,      },      "transaction" : {         "update conflicts" : <number>      }   },   "nindexes" : <number>,   "indexDetails" : {      "_id_" : {         "metadata" : {            "formatVersion" : <number>         },         ...      },      ...   },   "indexBuilds" : [      <string>,   ],   "totalIndexSize" : <number>,   "totalSize" : <number>,   "indexSizes" : {           "_id_" : <number>,           "<indexName>" : <number>,           ...   },   "scaleFactor" : <number>   "ok" : <number> } 
出力
- collStats.size
- コレクション内にあるすべてのレコード メモリ内の非圧縮サイズの合計。 - sizeには、- totalIndexSizeフィールドで報告されるコレクションに関連付けられたインデックスのサイズは含まれません。- scale引数はこの値に影響します。データ圧縮は、この値に影響しません。
- collStats.timeseries
- 時系列コレクション上で - collStatsコマンドを実行すると、- timeseriesが表示されます。- このドキュメントには、内部診断用のデータが含まれています。 
- collStats.numOrphanDocs
- コレクション内の孤立したドキュメントの数。 - バージョン 6.0 で追加。 
- collStats.storageSize
- ドキュメント ストレージ用にこのコレクションに割り当てられたストレージの合計量。 - scale引数はこの値に影響します。- コレクション データが圧縮されている場合( - default for WiredTiger)、ストレージ サイズは圧縮されたサイズを反映し、- collStats.sizeの値よりも小さくなる可能性があります。- storageSizeにはインデックスのサイズは含まれません。インデックスのサイズについては- totalIndexSizeを参照してください。
- collStats.freeStorageSize
- インメモリ ストレージ エンジンでは使用できません - 再利用可能なストレージの量。 - scale引数はこの値に影響します。- このフィールドは、ストレージが再利用可能である場合にのみ使用できます(つまり、ゼロより大きい場合)。 
- collStats.nindexes
- コレクションのインデックスの数。すべてのコレクションには、_idフィールドに少なくとも 1 つのインデックスがあります。 - nindexesには、現在構築中のインデックスがその数に含まれます。
- collStats.indexDetails
- コレクション内の各インデックスの WiredTiger ストレージ エンジンからのデータを報告するドキュメント。他のストレージ エンジンは空のドキュメントを返します。 - このドキュメントのフィールドはインデックスの名前であり、値自体はストレージ エンジンによって提供されるインデックスの統計を含むドキュメントです。これらの統計は、内部診断用です。 - indexDetailsには、警告やエラーなど、現在ビルド中のインデックスの詳細が含まれています。
- collStats.indexBuilds
- コレクションで現在構築中のインデックスの名前を含む配列。 インデックスのビルドが完了すると、インデックスは - indexBuildsに表示されません。
- collStats.totalIndexSize
- すべてのインデックスで使用されているディスク領域の合計。 - scale引数はこの値に影響します。- インデックスが接頭辞圧縮( - default for WiredTiger)を使用している場合、返されるサイズは、合計を計算するときにそのようなインデックスの圧縮サイズを反映します。- totalIndexSizeには、現在作成中のインデックスが合計サイズに含まれます。
- collStats.totalSize
- storageSizeと- totalIndexSizeの合計。- scale引数はこの値に影響します。
- collStats.indexSizes
- このフィールドは、コレクション上に既存のすべてのインデックスのキーとサイズを指定します。 - scale引数はこの値に影響します。- インデックスが接頭辞圧縮( - default for WiredTiger)を使用している場合、返されるサイズは圧縮されたサイズを反映します。- indexSizesには、現在構築中のインデックスのサイズが含まれます。
- collStats.scaleFactor
- コマンドで使用された - scale値。- 非整数のスケール係数を指定した場合は、MongoDB は指定した係数の整数部を使います。たとえば、スケール係数を - 1023.999に指定すると、MongoDB はスケール係数として- 1023使用します。
- collStats.capped
- コレクションに上限がある場合、このフィールドは「true」になります。 
- collStats.max
- 上限付きコレクションに含めることができるドキュメントの最大数を示します。 
- collStats.maxSize
- 上限付きコレクションの最大サイズを表示します。 
- collStats.wiredTiger
- wiredTigerは WiredTiger Storage Engine を使用している場合にのみ表示されます。 Queryable Encryptionを使用する場合、WiredTiger データは- urlフィールドのみにリダクションされます。- このドキュメントには、WiredTiger エンジンから直接報告されたデータと、内部診断用のその他のデータが含まれています。 
- collStats.inMemory
- inMemoryは、インメモリのストレージ エンジンを使用する場合にのみ表示されます。- このドキュメントには、ストレージ エンジンによって直接報告されるデータと、内部診断用のその他のデータが含まれています。