【问题标题】:Calculate BSONObj size before storing to mongo JavaScript在存储到 mongo JavaScript 之前计算 BSONObj 大小
【发布时间】:2022-01-13 13:28:43
【问题描述】:

我想弄清楚如何在将一些数据存储到 MongoDB 之前计算大小。由于我编写了一个解析数据的脚本,将它们组合在一个文档中并尝试做instance.save()

到目前为止,我收到一个错误,例如:

BSONObj size: 17102819 (0x104F7E3) is invalid. Size must be between 0 and 16793600(16MB)

我不想使用gridFS,因为它依赖于架构并且项目足够大可以使用它,所以到目前为止我决定跳过这些大小超过要求的文档。

我找到了关于:How to calculate existing document BSONSize的文章

文章链接:https://betterprogramming.pub/how-to-calculate-mongodb-document-size-in-node-js-f463b8457f27

但是,我需要弄清楚,在将它存储到数据库之前如何计算它

【问题讨论】:

    标签: javascript node.js typescript mongodb bson


    【解决方案1】:

    试试这个:

    Object.bsonsize({field: "value"})
    -> 22
    

    看起来此方法仅在旧 shell mongo 中可用,但在新的 mongosh 中不可用。对于mongosh,请参阅https://stackoverflow.com/a/34768008/3027266

    【讨论】:

    • 没错!但我需要在保存到 mongo 之前在运行时计算它,我编写了文档,在保存之前,我想检查 BSONsize
    • 是的,将你的对象传递给这个方法并检查大小。
    猜你喜欢
    • 2021-08-19
    • 1970-01-01
    • 2011-12-04
    • 2012-04-27
    • 2021-10-26
    • 1970-01-01
    • 2020-04-30
    • 2018-08-28
    • 1970-01-01
    相关资源
    最近更新 更多