1. 问题报错:
dbcol.find():
pymongo.errors.CursorNotFound: cursor id 64367561721 not found
2. 原因:
mongo自身的问题。默认 mongo server维护连接的时间窗口是十分钟。
默认:单次从 server获取数据是101条或者 大于1M小于16M的数据
所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常。
3. 解决方案
a 修改每批次获取数据量的条数,即batch size。
collection.find(condition).batch_size(5)//批量数需 估算十分钟内能处理的数据量
b 延长超时时间,需显示的关闭cursor
cursor=db.images.find({},no_cursor_timeout=True)