

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# \$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()
```

------