pymongo.errors.DocumentTooLarge:“聚合”命令文档太大
Posted
技术标签:
【中文标题】pymongo.errors.DocumentTooLarge:“聚合”命令文档太大【英文标题】:pymongo.errors.DocumentTooLarge: 'aggregate' command document too large 【发布时间】:2019-06-01 17:26:34 【问题描述】:我用pymongo聚合数据,数据大概1000万,我用
df_list = mycol.aggregate(['$match': 'tbl_id': '$in': doc_list, '$project': '_id': 0], allowDiskUse=True) # doc_list may be very large
聚合数据,但还是出错了,pymongo.errors.DocumentTooLarge: 'aggregate' command document too large
,allowDiskUse=True
对我不起作用。如何处理?
【问题讨论】:
【参考方案1】:Mongo 文档不能大于 16MB。这意味着您的查询对象:
df_list = mycol.aggregate(['$match': 'tbl_id': '$in': doc_list, '$project': '_id': 0], allowDiskUse=True) # doc_list may be very large
不能大于 16MB,您可能有一个巨大的 doc_list,超过了允许的最大大小。 allowDiskUse 选项没有任何作用,因为问题在此之前。
您可以通过批处理 doc_list 将查询拆分为多个查询,虽然速度较慢,但可以解决问题。
【讨论】:
以上是关于pymongo.errors.DocumentTooLarge:“聚合”命令文档太大的主要内容,如果未能解决你的问题,请参考以下文章