Skip to content

Instantly share code, notes, and snippets.

@mccun934
Forked from joeyAghion/mongodb_collection_sizes.js
Last active August 13, 2018 17:50
Show Gist options
  • Save mccun934/3472b9e22faddc4a03413c1e2f2bfee3 to your computer and use it in GitHub Desktop.
Save mccun934/3472b9e22faddc4a03413c1e2f2bfee3 to your computer and use it in GitHub Desktop.
List mongodb collections in descending order of size. Helpful for finding largest collections. First number is "size," second is "storageSize."
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['size'] - a['size']; });
for (var c in stats) { print(stats[c]['ns'] + ": " + getReadableFileSizeString(stats[c]['size']) + " (" + getReadableFileSizeString(stats[c]['storageSize']) + ")"); }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment