我正在试图弄清楚是否有一种很好的方法可以从mongo获取结果集,这样可以让我对数据库中的所有集合进行过度查看。
我看到每个集合的stats方法,其中包括我感兴趣的storageSize字段。我想在单个查询中获取集合及其storageSize而不做任何事情
db.col1.stats();
db.col2.stats();
db.col3.stats();
在MySQL中,对我正在尝试做的事情的等效查询可能看起来像
select table_schema, table_name, sum(data_length+index_length) from
information_schema.tables group by 1,2;
答案 0 :(得分:1)
var arr = db.getCollectionNames();
for (i=0; i < arr.length; i++) {
var comm = db.runCommand({ collStats: arr[i] , scale : 1024 });
print (arr[i] + "\t" + comm.storageSize);
// or if you prefer json:
// printjson({"coll" : arr[i], "storage" : comm.storageSize})
}
注意比例(KB)