У меня есть запрос потока, содержащий объекты. Задача состоит в том, чтобы создать (если нет) или обновить (если присутствует) эти объекты. Я попытался добиться этого, как показано ниже:
requestFlux.flatMap(entry -> {
Mono<Optional<MyObject>> existingMapping = myRepository
.findByIdAndName(entry.getId(), entry.getName());
return existingMapping.map(optional -> {
if (optional.isPresent()) {
MyObject model = MyObjectMapper.updateMyObject(entry, optional.get());
myRepository.save(model);
return model;
} else {
MyObject model = MyObjectMapper.toMyObjectModel(entry);
myRepository.save(model);
return model;
}
});
});
По некоторым причинам это не работает. Он не выдает никаких ошибок, не создает / обновляет записи и не регистрирует сообщения, которые присутствуют внутри if / else. Хотел узнать, чего мне не хватает?