You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可用于Shell脚本的MongoDB集合统计Bash脚本

现成的MongoDB集合统计Bash脚本

我刚好整理了一个可以直接使用的Bash脚本,完美匹配你需要的MongoDB集合统计需求,逻辑和你给出的示例代码完全一致,直接运行就能输出按大小排序的集合统计数据:

#!/bin/bash

# 根据你的MongoDB配置修改连接参数,比如添加认证、指定主机端口等
MONGO_URI="mongodb://localhost:27017/your_database_name"

# 执行MongoDB统计命令,核心逻辑和你提供的JS代码完全一致
mongo "$MONGO_URI" --quiet --eval '
var collectionNames = db.getCollectionNames(), stats = [];
collectionNames.forEach(function (n) { stats.push(db[n].stats()); });
stats = stats.sort(function(a, b) { return b["size"] - a["size"] });
for (var c in stats) { print(stats[c]["ns"] + ": " + stats[c]["size"] + " (" + stats[c]["storageSize"] + ")"); }
'

使用小贴士:

  • 替换your_database_name为你要查询的目标数据库名称
  • 如果你的MongoDB需要认证,把MONGO_URI改成带权限信息的格式,比如mongodb://username:password@localhost:27017/your_database_name
  • 保存脚本为mongo_collection_stats.sh,赋予执行权限:chmod +x mongo_collection_stats.sh
  • 直接运行脚本就能拿到结果:./mongo_collection_stats.sh

脚本细节说明:

  • --quiet参数用来屏蔽MongoDB的启动日志,只输出我们需要的统计结果
  • 核心逻辑就是你提供的JavaScript代码:先获取所有集合名称,拉取每个集合的统计信息,再按size从大到小排序,最后输出集合命名空间、数据实际大小和磁盘存储大小

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:59:08