如何在MongoKit中关闭游标
我正在使用MongoKit来处理大量数据。
在这个过程中,我的游标变得无效了,我收到了这个错误信息:
OperationFailure: cursor id '369397057360964334' not valid at server
我在邮件列表中看到,有人提到可以在.find()
方法中传入参数timeout=False
,但是PyMongo的常见问题说我需要自己处理游标的关闭。
不过我在MongoKit中没有找到相关的方法。
我需要自己关闭游标吗?如果需要的话,我该怎么做呢?
1 个回答
9
你需要关闭游标,因为MongoDB服务器不会自动关闭游标,因为你特别要求它不要这样做。
只需对你的游标调用一下 del
。pymongo的默认实现会通过 __del__
来通知服务器关闭这个游标。
假设你有这样的代码:
cursor = db.test.find(timeout=False)
当你完成操作后,只需这样做:
del cursor