#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();