

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# \$1collStats
<a name="collStats"></a>

バージョン 4.0 の新機能

Amazon DocumentDB の`$collStats`集約ステージは、MongoDB シェルの `db.collection.stats()` コマンドと同様に、指定されたコレクションに関する統計を提供します。このステージを使用して、ドキュメントの数、コレクションの合計サイズ、さまざまなパフォーマンスメトリクスなど、コレクションに関する情報を取得できます。

**パラメータ**
+ `latencyStats`: (オプション) レイテンシー統計を収集するためのオプションを指定するドキュメント。このパラメータは Amazon DocumentDB ではサポートされていません。
+ `recordStats`: (オプション) レコード統計を収集するためのオプションを指定するドキュメント。このパラメータは Amazon DocumentDB ではサポートされていません。
+ `queryExecStats`: (オプション) クエリ実行統計を収集するためのオプションを指定するドキュメント。このパラメータは Amazon DocumentDB ではサポートされていません。

## 例 (MongoDB シェル)
<a name="collStats-examples"></a>

次の例は、`$collStats`集約ステージを使用して、`db`データベース`test`内の という名前のコレクションに関する統計を取得する方法を示しています。

**サンプルドキュメントを作成する**

```
db.test.insertMany([
  { "name": "John", "age": 30 },
  { "name": "Jane", "age": 25 },
  { "name": "Bob", "age": 35 }
]);
```

**クエリの例**

```
db.test.aggregate([
  { $collStats: {} }
]);
```

**出力**

```
{
  "ns" : "db.test",
  "count" : 3,
  "size" : 87,
  "avgObjSize" : 29,
  "storageSize" : 40960,
  "capped" : false,
  "nindexes" : 1,
  "totalIndexSize" : 8192,
  "indexSizes" : {
    "_id_" : 8192
  },
  "collScans" : 0,
  "idxScans" : 0,
  "opCounter" : {
    "numDocsIns" : 3,
    "numDocsUpd" : 0,
    "numDocsDel" : 0
  },
  "cacheStats" : {
    "collBlksHit" : 0,
    "collBlksRead" : 0,
    "collHitRatio" : 0,
    "idxBlksHit" : 0,
    "idxBlksRead" : 0,
    "idxHitRatio" : 0
  },
  "lastReset" : "2023-04-11T12:00:00Z",
  "ok" : 1,
  "operationTime" : Timestamp(1681206000, 1)
}
```

## コードの例
<a name="collStats-code"></a>

`$collStats` コマンドを使用するコード例を表示するには、使用する言語のタブを選択します。

------
#### [ Node.js ]

以下は、公式の MongoDB Node.js ドライバーを使用して Node.js アプリケーションで`$collStats`集約ステージを使用する方法の例です。

```
const { MongoClient } = require('mongodb');

async function runCollStatsExample() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('db');
  const collection = db.collection('test');

  const result = await collection.aggregate([
    { $collStats: {} }
  ]).toArray();

  console.log(result);

  await client.close();
}

runCollStatsExample();
```

------
#### [ Python ]

PyMongo ドライバーを使用して Python アプリケーションで`$collStats`集約ステージを使用する方法の例を次に示します。

```
from pymongo import MongoClient

def run_coll_stats_example():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client['db']
    collection = db['test']

    result = list(collection.aggregate([
        { '$collStats': {} }
    ]))

    print(result)

    client.close()

run_coll_stats_example()
```

------