python - 如何在 MongoKit 中关闭光标

标签 python mongodb pymongo database-cursor mongokit

我正在使用 MongoKit 对大量数据执行迭代。

在此过程中,我的光标变得无效,我正在获取

OperationFailure: 游标 id '369397057360964334' 在服务器上无效

我在邮件列表中看到我可以将参数 timeout=False 传递给 .find() 方法,但是 PyMongo FAQ说我必须自己负责关闭光标。

但我没有在 MongoKit 中找到相关的方法。

我是否需要自己关闭光标,如果需要 - 我该怎么做?

最佳答案

您必须关闭游标,因为 MongoDB 服务器不会为您超时,因为您明确要求它不要这样做。

只需在光标上调用 del__del__ 的默认 pymongo 实现会通知服务器杀死光标。

假设如下:

cursor = db.test.find(timeout=False)

完成后只需执行此操作:

del cursor

关于python - 如何在 MongoKit 中关闭光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5392318/

相关文章:

node.js - 通过node.js和mongodb实现/使用quill的正确方法是什么?

java - 需要在 spring mongotemplate 中复制查询

python - 从 Python 脚本停止 Mongod 服务器

python - Python 散点图中用颜色编码的第三列和第四列

python - Jinja 模板中是否允许内联代码?

Python 单击命令名称

python - Python 中的 DecisonTreeclassifer() - 尝试构建树时出错

c# - 排序子集合并返回第一个子集合文档

python - pymongo : delete records elegantly

python - pymongo 在尝试连接到本地 Mongo 实例时返回 SSL 错误