Bulk.insert Spring Mongo API:我可以执行批量插入的文档数量有限制吗



最近,我试图使用bulk.insert(List(API执行大容量插入。然而,我得到了一个异常,说有效负载文档大小已经超过了16MB的最大大小。据我所知,每一份文件都远低于16MB。这是否意味着16MB限制适用于我传递给API的整个文件列表?我使用的是Spring Boot 2.2.2

驱动程序通常对命令执行16m的限制。命令开销有一定的余地,允许插入16m大小的文档(在这种情况下,驱动程序发送到数据库的命令将超过16m(。这个间接费用应该是16k左右。

虽然我个人还没有测试过,但服务器似乎允许48m大小的命令文档,这允许命令执行查找和修改操作,例如查询为16m(例如提供16m的数据并要求数据库与之完全匹配文档内容(,而update命令为文档提供16m新数据,外加命令开销。

当执行大容量写入时,驱动器通常应该拆分写入,以便每次写入都低于16m+16k的限制。这在此处指定。如果您的驱动程序根本没有拆分大容量写入或拆分不正确,则可能需要向驱动程序报告此问题。

最新更新