【问题标题】:Document Size in MongoDbMongoDb 中的文档大小
【发布时间】:2012-09-21 09:10:27
【问题描述】:

考虑将来切换到 DynamoDB,但要确保我的文档小于 1KB,因为它们按 KB 收费。有没有一种快速的方法可以知道一个文档在一个集合中有多大?

【问题讨论】:

    标签: mongodb document


    【解决方案1】:

    作为一般指南,您可以使用集合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 表示,这与在其他数据库中表示相同数据所需的大小不同。

    【讨论】:

    • 根据这些文档 (docs.mongodb.org/manual/reference/limits/#BSON Document Size), The maximum BSON document size is 16 megabytes.
    • @KevinMeredith:您认为 MongoDB 文档的最大大小为 16MB(与 MongoDB 2.4 一样)是正确的,但提出的问题是如何检查文档的实际大小并将其保持在 1KB 以下。跨度>
    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 2013-06-01
    • 2015-05-03
    • 2015-07-08
    • 2021-04-17
    • 2018-09-11
    • 2013-01-03
    相关资源
    最近更新 更多