$count(计数)

最后更新:2026-10-09

$count(计数)

$count 统计管道中当前剩余的文档数量,输出一条形如 { 字段: N } 的文档并继续传递。它是 $group 加 $sum: 1 的简写。放在 $match 之后即可统计过滤结果,无需先 $group。注意它输出的是单条文档,后续阶段看到的是这一条。

分类核心阶段
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $count: "<输出字段名>" }

⚙️ 参数

输出字段名计数结果写入的字段名。

返回值:单条文档,形如 { count: N }(字段名由参数指定)

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $count:统计状态为 A 的订单数
db.orders.aggregate([
  { $match: { status: 'A' } },
  { $count: 'total' }
])

运行结果:

// 匹配到的订单数量
{ "total": 25 }

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q$count 和 countDocuments 有什么区别?
AcountDocuments 直接对集合计数;$count 统计的是管道前面各阶段过滤后的结果。
Q$count 之后还能继续聚合吗?
A可以,它输出单条文档,后续阶段继续处理这条文档。
Q$count 能自定义输出字段名吗?
A能,参数就是输出字段名,如 { $count: 'total' } 输出 { total: N }。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏