迭代巨大的集合时Mongodb游标问题

时间:2013-10-21 05:26:26

标签: java performance mongodb

我正在迭代Mongo数据库集合。该集合中有数百万个文档。我正在使用java API进行此迭代。这个迭代练习可以持续一段时间,我们不想影响应用程序的性能。所以我们计划在这次迭代中使用Thread.sleep。但是我们正面临着光标超时的问题。以前有人面对这个吗?此外,是否可以以块为单位读取数据,例如一次100个文件?

1 个答案:

答案 0 :(得分:3)

您可以尝试通过_id遍历集合,而不是在整个集合上使用游标。因此,每次查询100个文档(按_id排序)并保留您遇到的最后一个_id。然后在每个连续查询上使用条件来获取文档,其中_id>来自之前获取的最后一个。