未找到 Pymongo 光标

问题描述 投票:0回答:1

有谁知道如何在 PyMongo 中人为触发光标未找到错误?谢谢

根据我的发现,此错误是在光标处于非活动状态超过 10 分钟后触发的。所以我就这么做了

cursor = coll.find()
time.sleep(9000)
for row in cursor:
  time.sleep(1000)
  print(row['scores'])

但是 python 成功运行了这个,没有给我错误。

python mongodb pymongo
1个回答
0
投票

要杀死光标,您可以使用 killCursors 命令。您还可以通过

cursorTimeoutMillis
选项更改限制,请参阅此处

至于:

但是 python 成功运行了这个,没有给我错误。

您应该记住,光标在批处理模式下工作。因此,在客户端不再迭代之前接收到的批处理项之前,您不会调用服务器。我投票认为,如果您迭代接收到的批次中的项目(通常

batchSize
默认情况下为 20),那么下一次服务器调用(使用
$getMore
命令)将失败

© www.soinside.com 2019 - 2024. All rights reserved.