有谁知道如何在 PyMongo 中人为触发光标未找到错误?谢谢
根据我的发现,此错误是在光标处于非活动状态超过 10 分钟后触发的。所以我就这么做了
cursor = coll.find()
time.sleep(9000)
for row in cursor:
time.sleep(1000)
print(row['scores'])
但是 python 成功运行了这个,没有给我错误。
要杀死光标,您可以使用 killCursors 命令。您还可以通过
cursorTimeoutMillis
选项更改限制,请参阅此处。
至于:
但是 python 成功运行了这个,没有给我错误。
您应该记住,光标在批处理模式下工作。因此,在客户端不再迭代之前接收到的批处理项之前,您不会调用服务器。我投票认为,如果您迭代接收到的批次中的项目(通常
batchSize
默认情况下为 20),那么下一次服务器调用(使用 $getMore
命令)将失败