概述
我现在想知道 我们的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
也就是 文档数量(也可以称呼为 记录总数) 来排序的
括号内的数字是 存储大小
网友评论