| 精确 | countDocuments(filter) |
|---|---|
| 估算 | estimatedDocumentCount() 读元数据 |
| 替代 | 旧 count() 已不推荐,新代码用这两个方法 |
示例
示例
db.orders.countDocuments({ status: "paid" })
db.orders.estimatedDocumentCount()countDocuments 会走查询计划,条件命中索引时通常很快;无条件全量精确计数反而可能慢。
精确计数用 countDocuments(条件),集合总量用 estimatedDocumentCount()(读元数据,不扫描文档,更快但有误差)。
| 精确 | countDocuments(filter) |
|---|---|
| 估算 | estimatedDocumentCount() 读元数据 |
| 替代 | 旧 count() 已不推荐,新代码用这两个方法 |
db.orders.countDocuments({ status: "paid" })
db.orders.estimatedDocumentCount()