在pymongo中对大型集合(250K项)运行简单查找并迭代光标。每次在不同的地方,光标迭代都会失败。关于此超时问题的网络上的所有文档都是关于超时问题的。但是,对我来说这个问题仍然存在,即使我已经禁用了超时,并使用了适度的batch_size为5。
我不认为这是pymongo问题,因为在使用其他驱动程序和客户端时也会发生这种情况。
这是pymongo代码:
cursor = collection.find({}, no_cursor_timeout=True).max_time_ms(99999999).limit(50000).batch_size(5)
这会在
的某个时候出错pymongo.errors.OperationFailure was unhandled by user code
Message: collection dropped between getMore calls
或
pymongo.errors.CursorNotFound was unhandled by user code
Message: Cursor not found, cursor id: 3771706747850
可能是什么问题?
答案 0 :(得分:3)
连接到数据库的另一个程序会定期删除该集合。我建议您检查MongoDB服务器日志以确认该集合已被删除。您会看到如下条目:
2017-01-18T20:40:03.783-0500 I COMMAND [conn83] CMD: drop test.collection