MongoTemplate обновляет несколько документов одновременно без использования функции saveAll() или циклов

#java #mongodb #nosql #updates #mongotemplate

#Ява #mongodb #nosql #Обновления #монгольская табличка

Вопрос:

У меня возникли проблемы с сохранением нескольких документов одновременно, мне нужно, чтобы при обновлении нескольких документов обновлялось только целевое поле: что я пытаюсь сделать :

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

Есть ли какой-нибудь способ сделать это?

Комментарии:

1. Вы можете использовать функции insertMany в mongodb

Ответ №1:

я сам понял, что с помощью BulkOperations вы можете складывать несколько обновлений в большие пакеты, а затем выполнять их одновременно! Мой код:

 BulkOperations bulkOperations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, Foo.class);   Listlt;Foogt; 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();