A = [10, 15]
我一直在向我的后端发送axios.post和有效载荷的数据和文件,我以base64的形式捕获文件并弹出包含“ data / png base64;”的前字母。 当我尝试使用base64数据创建新实例时,在尝试使用mongoose将文档保存到mongodb时遇到以下错误,我徒劳地看了这个错误,文件太大了吗?
答案 0 :(得分:2)
对于那些有同样问题的人。我有一些额外的信息,经过一些测试后,我得出以下结论:
当您发出 MongoDB 插入请求以更改对象使其大于最大允许大小 (16mb) 时,您将收到以下错误:
MongoError: BSONObj size: 20971588 (0x1400044) is invalid. Size must be between 0 and 16793600(16MB) First element: _id: ObjectId('60a277f50a5f8b012a761672')
at Function.create ...
{
driver: true,
index: 0,
code: 10334
}
当您执行过大的 MongoDB 查询 时(如问题中所示)。您将看到以下错误:
RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 && <= 17825792. Received 17825794
at validateOffset (buffer.js:104:3)
at Buffer.write (buffer.js:1055:5)
... {
code: 'ERR_OUT_OF_RANGE'
}
这很重要,因为如果您执行例如插入或更新 10mb 数据的 upsert,您的查询将超过查询的最大 ~17mb。 (不完全确定这是开发人员的意图)
最后,当您执行的插入未超过最大查询大小,但确实超过最大 BSON 文档大小时,您将看到此错误:>
MongoError: object to insert too large. size in bytes: 16777272, max size: 16777216
at Function.create ...
{
driver: true,
index: 0,
code: 2
}
这是用以下方法测试的:
我希望这能帮助任何遇到这个问题的人。