2
考虑将来切换到DynamoDB,但希望确保我的文档低于1KB,因为它们按每KB计费。有没有一种快速的方法来了解集合中的文档有多大?MongoDb中的文档大小
考虑将来切换到DynamoDB,但希望确保我的文档低于1KB,因为它们按每KB计费。有没有一种快速的方法来了解集合中的文档有多大?MongoDb中的文档大小
作为一般的指南,你可以使用收集stats()
报道avgObjSize
值检查文件的平均大小的集合collname在:
db.collname.stats()
要查找和计数,您可以使用类似的东西,以大型文档:
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")
注意,这两个例子中所使用的的MongoDB BSON表示,这将从尺寸变化热曲被用来表示其他数据库中的相同数据。
根据这些文档(http://docs.mongodb.org/manual/reference/limits/#BSON文件大小),“最大BSON文档大小为16兆字节。”# –
@KevinMeredith:你说得对最大的MongoDB文档大小为16MB(如在MongoDB 2.4中),但是提出的问题是如何检查文档的实际大小并将它们保持在1KB以下。 – Stennie