使用 countDocuments() 方法可查询 MongoDB 中符合条件的记录数,语法为 db.collection.countDocuments(, ),如统计 users 集合中 status 为 "active" 的文档数量:db.users.countDocuments({ status: "active" }),推荐此方法替代已弃用的 count()。
在 MongoDB 中,想要查询符合条件的记录数,可以使用 countDocuments() 方法。这是目前推荐的方式,用来统计集合中满足条件的文档数量。
基本语法
db.collection.countDocuments(参数说明:
-
query:可选,查询条件。如果不传,
默认统计全部文档。 - options:可选,配置项,比如设置读取偏好等。
常见用法示例
统计整个集合的文档总数:
db.users.countDocuments({})统计满足条件的文档数量(例如 status 为 "active" 的用户):
db.users.countDocuments({ status: "active" })带复杂条件的统计(例如 status 为 "active" 且 age 大于 25):
db.users.countDocuments({ status: "active", age: { $gt: 25 } })与旧方法 count() 的区别
MongoDB 曾经支持 count() 方法,例如:
db.users.count({ status: "active" })但该方法已在较新版本中被弃用。官方建议统一使用 countDocuments(),因为它更准确、性能更好,并且符合当前驱动和 API 的规范。
如果使用的是聚合场景,也可以用 aggregate() 配合 $count 或 $group 实现:
db.users.aggregate([{ $match: { status: "active" } },
{ $count: "total" }
])
这种方式适合在复杂数据处理流程中使用。
基本上就这些。日常统计优先用 countDocuments(),清晰又可靠。
默认统计全部文档。






