1 yohn89 2018-07-01 11:43:11 +08:00 via Android ![]() 按照 id 增序或降序,每次记住最后一条记录的 id,下一个循环的时候,where id > lastId 来过滤掉已经取出的数据。这跟是不是 mongo 没有关系。 |
2 kingname 2018-07-01 11:59:58 +08:00 via iPhone ![]() 数据库大的时候绝对不要用 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 会废掉,应该采用游标的方式 |