先说明:本文没有介绍直接快速的方式(例如:加个参数,改个配置等),而是通过转换思路解决的,介意勿看!
最近在使用mongo做聚合统计的时候遇到的问题,经过一通查询,知道mongdb和pymongo16MB有文档大小限制。之前只知道mongo有一条document文档会有16MB的限制,这次聚合match查询条件里的list大小也报了超限!
需求:有个mysql订单库和mongo订单库,mongo里存的订单包含mysql存的订单,目标是统计在mongo里不在mysql里的订单的电量和订单数!
之前的代码:
filter_pipe = {"StartType": 3,
"EndTime": {"$lte": end_date, "$gte": start_date},
"OrderID": {"$nin": all_mysql_orders}}
ret = db.get_collection("table_name").aggregate([
{"$match": filter_pipe},
{"$group": {"_id": {}, "totalPower": {"$sum": "$TotalPower"}, "count": {"$sum": 1}}}
])
all_mysql_orders 有24MB,超限报了错&#x