Mongodb循环与PHP通过大数据集

时间:2013-12-28 09:55:38

标签: php mongodb mongodb-php large-data

我想要遍历我的所有数据> 10mio记录,但这个超时。
我的查询如下:

    db.my_collection.find();

为了处理我正在使用php的数据,所以我正在做一个游标的foreach。 任何建议怎么做这个最终限制和跳过可能?

2 个答案:

答案 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)

您可以使用跳过/限制,但也会禁用此特定查询的超时:

http://www.php.net/manual/en/mongocursor.timeout.php