文档首页/ 文档数据库服务 DDS/ 常见问题/ 数据库基本使用/ 如何查询每个表的数据量mongodb存储空间分析?
更新时间:2025-08-15 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)");
    });
});

相关文档