mongo大数据量更新服务端超时解决: Cursor not found, cursor id: 82792803897

本文探讨了在使用MongoDB和PyMongo时遇到的CursorNotFound异常,解释了默认的连接维护时间和数据获取限制,并提供了两种解决方案:调整批量数据获取数量和设置无超时的游标。

mongodb pymongo.errors.CursorNotFound: Cursor not found, cursor id: 82792803897

 

  默认 mongo server维护连接的时间窗口是十分钟

  默认 单次从 server获取数据是101条或者 大于1M小于16M的数据

  所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常。

 

  解决办法:

  1. 修改每批次获取数据量的条数,即batch size:

  collection.find(condition).batch_size(5)

  批量数需 估算十分钟内能处理的数据量

 

  2. 延长超时时间 需显示的关闭cursor

    db.getCollection("unicom_jd").find({}).noCursorTimeout()

转载于:https://www.cnblogs.com/CHWLearningNotes/p/10333479.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值