var mgo = new Mongo() 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]; }; function getStatsFor(db){ var collectionNames = db.getCollectionNames(), stats = []; collectionNames.forEach(function (n) { stats.push(db.getCollection(n).stats()); }); stats = stats.sort(function(a, b) { return b['size'] - a['size']; }); for (var c in stats) { print(stats[c]['ns'] + ": " + getReadableFileSizeString(stats[c]['size']) + " (" + getReadableFileSizeString(stats[c]['storageSize']) + ")"); for (var i in stats[c]['indexSizes']){ print(" idx:" + i + ":" + getReadableFileSizeString(stats[c]['indexSizes'][i]) );} } } function getAllStats(){ mgo.getDBNames().forEach(function(name){ var db = mgo.getDB(name); print('\n '+db+'\n'); getStatsFor(db) }) } getAllStats()