我正在使用 MongoKit 对大量数据执行迭代。
在此过程中,我的光标变得无效,并且我得到
OperationFailure: cursor id '369397057360964334' not valid at server
我在邮件列表中读到我可以传递参数timeout=False
to .find()
方法,但是PyMongo 常见问题解答 http://api.mongodb.org/python/2.0/faq.html#what-does-operationfailure-cursor-id-not-valid-at-server-mean说我必须自己负责关闭光标。
但我没有在 MongoKit 中找到相应的方法。
我是否需要自己关闭光标,如果是,我该怎么做?
您必须关闭游标,因为 MongoDB 服务器不会为您使游标超时,因为您明确要求它不要这样做。
只需致电del
在你的光标上。 pymongo 的默认实现__del__
会通知服务器杀死游标。
假设类似:
cursor = db.test.find(timeout=False)
完成后只需执行以下操作:
del cursor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)