mongodb - Mongodb pymongo 错误 DocumentTooLarge
问题描述
我正在尝试执行以下查询: 查询
问题是{"id": {"$nin": lista}}
。lista 是一个 id 数组,包含 1.000.000 个超过 98MB 大小的 id。由于 Mongodb 的限制为 16MB,因此我似乎无法发送此查询而不会收到以下错误:pymongo.errors.DocumentTooLarge: BSON document too large (107382731 bytes) - the connected server supports BSON document sizes up to 16777216 bytes.
。我不完全理解的东西,因为限制应该是针对集合内的文档。
我的问题是:那我如何排除 id 列表/数组?
解决方案
您可以尝试通过聚合管道重做查询(并将 id 存储在集合中,而不是在查询中发送它们)但是您是对的,查询大小是有限制的。
虽然我没有亲自测试过,但我的印象是,服务器在技术上允许传入的查询最大为 48 mb,而不是如您的消息中所述的 16,但您需要找到一个也允许 48 mb 查询大小的驱动程序和我不知道哪些会。也有可能 48 mb 限制仅适用于查找和修改查询,而查找和修改部分仍然限制为 16 mb。
推荐阅读
- python - python的timeit没有在设置代码中初始化列表
- javascript - 自动登录到 wrbsite 并提取元素
- javascript - 使用 Javascript/CSS 在中间绘制带有文本的圆圈
- android - 使用相同的图像作为输入同时运行 iOS 和 Android 版本的 MLKit Text Recognition On-Device API 时的不同结果
- testng - 无法在 TestNG 中执行第二个 @Test 方法
- c# - 使用 C# 和 REST 部署 UWP 应用
- postgresql - 从一个表中删除也会从另一个表中删除
- php - 如何使用渴望在laravel中使用provinceid打印省份名称?
- php - 为什么我提交帖子时价值不想增加
- amazon-web-services - RaspberryPi AWS - 物联网证书问题