我正在迭代Mongo数据库集合。该集合中有数百万个文档。我正在使用java API进行此迭代。这个迭代练习可以持续一段时间,我们不想影响应用程序的性能。所以我们计划在这次迭代中使用Thread.sleep。但是我们正面临着光标超时的问题。以前有人面对这个吗?此外,是否可以以块为单位读取数据,例如一次100个文件?
答案 0 :(得分:3)
您可以尝试通过_id遍历集合,而不是在整个集合上使用游标。因此,每次查询100个文档(按_id排序)并保留您遇到的最后一个_id。然后在每个连续查询上使用条件来获取文档,其中_id>来自之前获取的最后一个。