Java中使用MongoTemplate进行分批处理数据

/**
* Mongo中要处理的数据量比较多时,可以进行分批量处理
* 使用MongoTemplate分批进行处理数据
* skip(num).limit(10000) 跳过num条数据后,取10000条数据
*/

public static void main(String[] args) {
//查询所有有效的记录
int total = (int) mongoTemplate.count(query(where("deletedFlag").is(false)),User.class, "user");
//按照10000条数据一个批次,进行分批次
int size = total/10000;
int number= total%10000;
//余数不为0,剩下的记录做为一个批次
if(number!=0){
size = size+1;
}
for(int i = 0;i<size;i++){
int num = (i*10000);
List<User> users= mongoTemplate.find(query(where("deletedFlag").is(false)).skip(num).limit(10000), User.class, "user");
for(User user : users ){
//对每条记录进行数据操作
}
}
}

猜你喜欢

转载自www.cnblogs.com/wueryuan/p/12125370.html