mongodb如何使用count查询记录数?

使用 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(),清晰又可靠。