我想要遍历我的所有数据> 10mio记录,但这个超时。
我的查询如下:
db.my_collection.find();
为了处理我正在使用php的数据,所以我正在做一个游标的foreach。 任何建议怎么做这个最终限制和跳过可能?
答案 0 :(得分:2)
如果从php客户端查询,为什么要使用mongo shell语法?
无论如何,我认为您不希望在合理的工作时间内找到并打印10十年的记录而不分析您的查询,也可以捕获Calimero建议并使用跳过限制创建您自己的分页算法。
$ cursor = $ db-> collection-> find($ criteria,$ projection) - > sort($ order) - > skip($ skip) - > limit($ limit);
还要看一下this link
或者你可以简单地实现一个为你做的外部类,检查here并找到 MongoDB分页
答案 1 :(得分:0)
您可以使用跳过/限制,但也会禁用此特定查询的超时: