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)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获取数据的时候,不能更新数据

相关推荐