$count - Amazon DocumentDB

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

$count

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

参数

  • field:要计数的字段。此参数是可选的,如果未提供,则该阶段将计算输入文档的总数。

示例(MongoDB 外壳)

以下示例演示如何使用$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舞台来计算文档的总数。

代码示例

要查看使用该$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()