美文网首页
MongoDB 降序列出集合的大小

MongoDB 降序列出集合的大小

作者: Yellowtail | 来源:发表于2019-04-12 19:16 被阅读0次

    概述

    我现在想知道 我们的MongoDB 里所有 集合(collection, 也可以称呼为 ) 的大小
    且按照降序(从大到小)输出

    code

    这里 找到了代码,稍微修改了一下,贴在这里

    function getReadableFileSizeString(fileSizeInBytes) {
    
        var i = -1;
        var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB'];
        do {
            fileSizeInBytes = fileSizeInBytes / 1024;
            i++;
        } while (fileSizeInBytes > 1024);
    
        return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i];
    };
    var collectionNames = db.getCollectionNames(), stats = [];
    collectionNames.forEach(function (n) { stats.push(db[n].stats()); });
    stats = stats.sort(function(a, b) { return b['count'] - a['count']; });
    for (var c in stats) { print(stats[c]['ns'] + " , " + stats[c]['count'] + " ," + getReadableFileSizeString(stats[c]['storageSize']) + ""); }
    

    输出

    xxxx.unit_customer_mapping , 44749602 ,4.1 GB
    xxxx.skmr_msg_info , 37206942 ,10.0 GB
    xxxx.skmr_action_logs_history , 27015390 ,7.8 GB
    xxxx.daily_unit_stat , 20550193 ,1.0 GB
    xxxx.chat_messages , 11815168 ,2.1 GB
    xxxx.conversation_messages , 11016384 ,1.3 GB
    xxxx.skmr_unit_to_house_log , 10327816 ,992.9 MB
    xxxx.tencent_chat_messages , 9646876 ,1.6 GB
    xxxx.skmr_action_logs , 8675658 ,3.5 GB
    

    注意: 输出是按照count 也就是 文档数量(也可以称呼为 记录总数) 来排序的
    括号内的数字是 存储大小

    相关文章

      网友评论

          本文标题:MongoDB 降序列出集合的大小

          本文链接:https://www.haomeiwen.com/subject/cuehwqtx.html