python操作mongo时pymongo.errors.CursorNotFound

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)

posted @ 2020-03-05 14:59  ~花开不败~  阅读(459)  评论(0编辑  收藏  举报