如何在MongoKit中关闭光标

cle*_*leg 6 python cursor mongodb pymongo mongokit

我正在使用MongoKit对大量数据进行迭代.

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

OperationFailure: cursor id '369397057360964334' not valid at server

我已经在邮件列表中读到了我可以将参数传递timeout=False.find()方法,但PyMongo常见问题解答说我自己负责关闭游标.

但我没有在MongoKit中找到方法.

我需要手动关闭光标,如果是 - 我该怎么办?

MC7*_*C78 9

你必须关闭游标,因为MongoDB服务器不会为你超时游标,因为你明确要求它不要.

只需调用del光标即可.默认的pymongo实现__del__将通知服务器终止游标.

假设有类似的东西:

cursor = db.test.find(timeout=False)
Run Code Online (Sandbox Code Playgroud)

完成后只需这样做:

del cursor
Run Code Online (Sandbox Code Playgroud)