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 ){
//對每條記錄進行數據操作
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM