Document Size in MongoDb
document, mongodb
Solution
As a general guide you can check the average size of documents in a collection collname using the `avgObjSize` value reported by collection `stats()`:
db.collname.stats()
To find and count large documents you can use something similar to:
var maxSize = 1024;
var bigDocs = 0;
db.collname.find().forEach(
function (doc) {
var docSize = Object.bsonsize(doc);
if (docSize >= maxSize) {
bigDocs++;
print(doc._id + ' is ' + docSize + ' bytes');
}
}
)
print("Found " + bigDocs + " documents bigger than " + maxSize + " bytes")
Note that both these examples are using the MongoDB BSON representation, which will vary from the size required to represent the same data in other databases.
Problem
Thinking of switching to DynamoDB in future, but want to make sure my documents are under the 1KB, as they charge per KB. Is there a quick way to know how large a document is in a collection?