2014-02-11 160 views
0

我想弄清楚是否有一個很好的方法從mongo得到一個結果集,它會給我一個數據庫中的所有集合的查看。簡單的mongo查詢來聚合集合統計

我看到每收集的統計方法,其中包括storageSize場,我很感興趣。我想獲得與出單的查詢集合及其storageSizes只是做

db.col1.stats(); 
db.col2.stats(); 
db.col3.stats(); 

在MySQL的什麼我試圖做equivalant查詢可能看起來像

select table_schema, table_name, sum(data_length+index_length) from  
information_schema.tables group by 1,2; 

回答

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)