更新时间:2025-09-10 GMT+08:00
如何查询每个表的数据量mongodb存储空间分析?
通过如下脚本可以进行存储空间分析。
db.adminCommand({ listDatabases: 1 }).databases.forEach(function (_db) {
print("\nDatabase: " + _db.name);
// 获取数据库中所有集合的信息
var collections = db.getSiblingDB(_db.name).getCollectionInfos();
// 创建一个数组来存储集合名称和大小
var collectionSizes = [];
// 遍历所有集合
collections.forEach(function (collection) {
// 获取集合名称
var name = collection.name;
// 获取集合中的文档数量
var size = db.getSiblingDB(_db.name).getCollection(name).stats().size;
// 将集合名称和大小添加到数组中
collectionSizes.push({ name: name, size: size });
});
// 按size排序
collectionSizes.sort(function (a, b) {
return a.size - b.size;
});
// 输出排序后的结果
collectionSizes.forEach(function (item) {
print("\t" + item.name + "\t:\t" + item.size + " (bytes)");
});
});
父主题: 数据库基本使用