MongoDb中的文档大小

Mr.*_*ael 4 document mongodb

考虑将来切换到DynamoDB,但是要确保我的文档在1KB以下,因为它们按KB收费.有没有快速的方法来了解文档在集合中的大小?

Ste*_*nie 13

作为一般指南,您可以使用集合报告的值检查集合collname中文档的平均大小:avgObjSizestats()

db.collname.stats()
Run Code Online (Sandbox Code Playgroud)

要查找和计算大型文档,您可以使用类似于:

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")
Run Code Online (Sandbox Code Playgroud)

请注意,这两个示例都使用MongoDB BSON表示,该表示将与在其他数据库中表示相同数据所需的大小不同.

  • @KevinMeredith:您是正确的,最大MongoDB文档大小为16MB(在MongoDB 2.4中),但是提出的问题是如何检查文档的实际大小并将其保持在1KB以下。 (2认同)