1
yohn89 2018-07-01 11:43:11 +08:00 via Android 2
按照 id 增序或降序,每次记住最后一条记录的 id,下一个循环的时候,where id > lastId 来过滤掉已经取出的数据。这跟是不是 mongo 没有关系。
|
2
kingname 2018-07-01 11:59:58 +08:00 via iPhone 1
数据库大的时候绝对不要用 skip,因为它也是一条一条去数。你每次取一万条,记住最后一条的_id,由于_id 是单调递增的,所以下一次大于_id 再取一万条即可。
|
3
pudgedoor 2018-07-01 12:09:32 +08:00 via Android
聚合然后$sample 可以吗?
|
4
cockcry 2018-07-01 20:09:09 +08:00
这么大数据应该做分片的
|
5
fmumu 2018-07-02 09:01:25 +08:00 via Android
skip 不行,mongodb 权威指南一书中有提到解决方案,用 id 排序,然后过滤大于上一批最大 id 的数据,再 limit
|
6
yimity 2018-07-02 10:29:44 +08:00 via Android
好像可以使用游标来解决,权威指南上也有说。
|
7
tonghuashuai 2018-07-02 13:52:14 +08:00
典型的大数据分页场景,skip(offset) limit 会废掉,应该采用游标的方式
|