

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

Amazon DocumentDB 中的`$count`聚合阶段用于计算进入该阶段的文档数量。它通常用作聚合管道的最后一个阶段，用于返回与前几个阶段匹配的文档总数。

**参数**
+ `field`：要计数的字段。此参数是可选的，如果未提供，则该阶段将计算输入文档的总数。

## 示例（MongoDB 外壳）
<a name="count-examples"></a>

以下示例演示如何使用`$count`舞台获取集合中的文档总数。

**创建示例文档**

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

**查询示例**

```
db.users.aggregate([
  { $count: "total" }
]);
```

**输出**

```
{ "total" : 4 }
```

该示例汇总了`users`集合，并使用`$count`舞台来计算文档的总数。

## 代码示例
<a name="count-code"></a>

要查看使用该`$count`命令的代码示例，请选择要使用的语言的选项卡：

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

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

async function countDocuments() {
  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('mydb');
  const collection = db.collection('users');

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

  console.log(result[0].total);

  await client.close();
}

countDocuments();
```

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

```
from pymongo import MongoClient

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

    result = list(collection.aggregate([
        { '$count': "total" }
    ]))

    print(result[0]['total'])

    client.close()

count_documents()
```

------