You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB查询结果数组的最大允许大小是多少?

MongoDB 查询结果大小限制说明

首先明确核心结论:你举例的查询返回400条单条大小1MB的文档、总大小400MB的场景,不会触发MongoDB的服务端错误。
具体的规则如下:

  • 你提到的16MB是单个BSON文档的大小上限,仅作用于单个独立存储的文档,和查询返回的结果集总大小无关。
  • 普通find查询的单次批返回(batch)存在两个默认阈值:单批最多返回1000条文档,或者单批总大小不超过16MB,哪个先触发就按哪个返回。驱动会自动处理游标批量拉取的逻辑,你正常遍历游标时,后续批次的数据会自动加载,不需要手动操作,整个结果集的总大小没有服务端层面的硬限制。
  • 聚合操作的默认限制是单个结果文档不能超过16MB,如果你需要返回大量聚合结果,开启allowDiskUse: true选项并使用游标接收结果,即可突破单文档限制,支持返回更大的结果集。
  • 只有当你在客户端手动将整个游标结果一次性加载到内存中(比如shell中调用toArray()方法)时,才可能因为结果集总大小超过客户端内存上限抛出错误,这属于客户端内存限制,而非MongoDB服务端的规则。

补充说明:MongoDB 3.2之前的老旧版本中,聚合操作默认返回的整个结果集存在16MB的上限,目前主流维护的新版本均已移除该限制。

内容的提问来源于stack exchange,提问作者J.E.C.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:57:01