MongoTemplate 一次更新多个文档而不使用 saveAll() 或循环

MongoTemplate update multiple Document with at once without using saveAll() or loops

我在一次保存多个文档时遇到问题,我的需要是在更新多个文档时它只更新目标字段: 我正在尝试做什么:

Update1 ("field Name" , " AB" ) ;
Update2 ("field Name", "ABC");
Query query = mongoTemplate.Aggr(...)

mongoTemplate.multipleUpdate(..,Update1, Update 2);

有什么办法可以做到这一点吗?

我通过使用 BulkOperations 发现自己可以将多个 Update 堆叠成块,然后同时执行! 我的代码:

BulkOperations bulkOperations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, Foo.class);

        List<Foo> fooList = FooRepository.findAllByIdIn(Arrays.asList(id));
        for (Foo foo : fooList) {
            Query query = new Query().addCriteria(new Criteria("...").is(...));
            Update update = new Update().set(..., ...);
            bulkOperations.updateOne(query, update);
        }
        bulkOperations.execute();