mongoDB [skip+limit]分批取数的BUG
假设mongoDB有如下数据,
1,2,3,4,5,6,7,8,9,10
想变成
A1,A2,A3,B4,B5,B6,C7,C8,C9,C10
1,2,3,4,5,6,7,8,9,10
想变成
A1,A2,A3,B4,B5,B6,C7,C8,C9,C10
通过skip + limit进行分组
0~3 A执行
3~3 B执行
6~4 C执行
(1)边获取数据,边更新
![mongoDB [skip+limit]分批取数的BUG mongoDB [skip+limit]分批取数的BUG](https://cdn.ancii.com/article/image/v1/xu/R7/E9/9ERu7xJyTqCFW_cllJux0Mp_80uPLRnGBDUptGwNa0NrI1CyQXdshHaEApJ0lFjdIeo0Ngppb5d0XXOcSYPHGVAvr0WK2xHOYOwMtIIniVZSx98srwCMgMn4HseZlqRa.png)
(1)A抓取到数据后,执行更新
(2)B抓取到数据后,执行更新
(C)C抓取到数据后,执行更新
执行结果如下
A1,A2,A3,4,5,6,7,8,9,10
A1,A2,A3,B4,B5,B6,7,8,9,10
C1,C2,C3,C4,B5,B6,7,8,9,10
(2)抓取数据后,最后更新
设置数据
A1,A2,A3,4,5,6,7,8,9,10
A1,A2,A3,B4,B5,B6,7,8,9,10
A1,A2,A3,B4,B5,B6,C7,C8,C9,C10
执行更新
mongoDB [skip+limit]分批取数的BUG,从这个BUG来看,
个人认为SKIP 会根据索引取数,所以SKIP获取数据的时候,不能更新数据
A1,A2,A3,4,5,6,7,8,9,10
A1,A2,A3,B4,B5,B6,7,8,9,10
A1,A2,A3,B4,B5,B6,C7,C8,C9,C10
执行更新
mongoDB [skip+limit]分批取数的BUG,从这个BUG来看,
个人认为SKIP 会根据索引取数,所以SKIP获取数据的时候,不能更新数据