try{
Criteria fnLikesCriteria = Criteria.where("fnLikes.isRead").is(0);
Criteria commentsCriteria = Criteria.where("comments.isRead").is(0);
Query queryComments = null;
Query queryFnLikes = null;
Nbourhood nbourhood = null;
Nbourhood nbourhoodFnLikes = null;
Update update = null;
Comments comments = null;
FnLike fnLike = null;
for(String id:idList){
queryComments = new Query();
queryFnLikes = new Query();
queryComments.addCriteria(commentsCriteria.and("_id").is(id));
queryFnLikes.addCriteria(fnLikesCriteria.and("_id").is(id));
nbourhood = mongoTemplate.findOne(queryComments, Nbourhood.class);
nbourhoodFnLikes = mongoTemplate.findOne(queryFnLikes, Nbourhood.class);
if(nbourhoodFnLikes != null && nbourhoodFnLikes.getFnLikes() != null && nbourhoodFnLikes.getFnLikes().size() >0){
int fnLikesSize = nbourhoodFnLikes.getFnLikes().size();
update = new Update();
// 遍历更新
for (int i = 0; i < fnLikesSize; i++) {
fnLike = nbourhoodFnLikes.getFnLikes().get(i);
if(fnLike != null && fnLike.getIsRead() != null && fnLike.getIsRead() == 0){
// 设置状态
update.set("fnLikes." + i + ".isRead", 2);
}
}
mongoTemplate.updateMulti(queryFnLikes, update, Nbourhood.class);
}
if(nbourhood != null && nbourhood.getComments() != null && nbourhood.getComments().size() >0){
int commentsSize = nbourhood.getComments().size();
update = new Update();
// 遍历更新
for (int i = 0; i < commentsSize; i++) {
comments = nbourhood.getComments().get(i);
if(comments != null && comments.getIsRead() != null && comments.getIsRead() == 0){
// 设置已读状态
update.set("comments." + i + ".isRead", 2);
}
}
mongoTemplate.updateMulti(queryComments, update, Nbourhood.class);
}
}
}catch(Exception e){
e.printStackTrace();
}
mongoTemplate 批量更新数组里面的值
最新推荐文章于 2024-09-19 16:33:31 发布