$collStats(集合统计)
最后更新:2026-10-09
$collStats(集合统计)
$collStats 输出集合的存储统计信息——文档数、数据大小、索引信息、存储引擎细节等,输出单条文档。可用于容量规划与集合增长监控。可通过 latencyStats、storageStats、count、queryExecStats 等字段选择要返回的统计。注意统计值为近似值,不是实时精确值。
| 分类 | 高级与诊断 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $collStats: { latencyStats: { histograms: <布尔> }, storageStats: {}, count: {}, queryExecStats: {} } }
⚙️ 参数
| storageStats | 返回存储统计(文档数、数据与索引大小等)。 |
|---|---|
| count | 返回文档数统计。 |
| queryExecStats | 返回查询执行统计。 |
| latencyStats | 返回操作时延统计,可带 histograms。 |
返回值:集合统计信息的单条文档
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $collStats:查看订单集合的存储与计数
db.orders.aggregate([
{ $collStats: { storageStats: {}, count: {} } }
])
运行结果:
// 单条文档,含 count 与 storageStats 统计
📌 注意事项
- 统计为近似值,非实时精确
- $indexStats 只输出索引使用情况,$collStats 更全面
- 分片集合返回汇总视图
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q$collStats 能看索引大小吗?
A能,storageStats 里有 totalIndexSize 和每个索引的大小。
Q统计值是实时的吗?
A不是,部分来自存储引擎元数据,是近似值。
Q$collStats 和 db.stats 有什么区别?
Adb.stats 是数据库级统计;$collStats 只针对单集合且输出结构化文档。