您可以使用批量写入api将具有不同查询条件的文档批发送到服务器,并更新文档。
类似于
int count = 0;
int batch = 100;
BulkOperations bulkOps = mongoOperation.bulkOps(BulkOperations.BulkMode.UNORDERED, User.class);
for (MyClass myClass : myClasses){
Query query = new Query();
Criteria criteria = Criteria.where("_id").is(myClass.getId());
query.addCriteria(criteria);
Update update = new Update();
update.set("age", myClass.getAge());
bulkOps.updateOne(query, update);
count++;
if (count == batch) {
bulkOps.execute();
count = 0;
}
}
if (count > 0) {
bulkOps.execute();
}