如何解决pymongo出现pymongo errors CursorNotFound: cursor id xxx not found这一问题?
一、出现这种问题的原因
游标连接单次最大超时时间为10分钟,单次从mongo服务端获取的数据为101条或者1~16M,如果在10分钟内,未处理完获取的所有数据,则会报异常
二、解决方案
1、设置 no_cursor_timeout=True,即游标连接永不超时,需要手动关闭游标(可以利用with上下文管理器)
2、减少单次获取的数据量,比如 batch_size=10,即单次获取10条数据
三、示例
with mongo_col.find({},{'_id':0},no_cursor_timeout=True,batch_size=10) as cursor:
for result in cursor:
parse(result)