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

通过skip + limit进行分组
0~3 A执行
3~3 B
执行
6~4 
C执行

(1)边获取数据,边更新

mongoDB [skip+limit]分批取数的BUG_第1张图片
 
(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获取数据的时候,不能更新数据

你可能感兴趣的:(mongoDB [skip+limit]分批取数的BUG)