简单的mongo查询来聚合集合统计信息

时间:2014-02-11 21:45:46

标签: mongodb mongodb-query

我正在试图弄清楚是否有一种很好的方法可以从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;

1 个答案:

答案 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)