Posts

Showing posts with the label reactor

How to code in reactor to update a specific field in a cassandra DB record

How to code in reactor to update a specific field in a cassandra DB record I am using ReactiveCassandraRepository and I can create new record as below. public Mono<String> saveAbc(Abc toBeSaved) { return abcRepository.save(toBeSaved).map(saved -> saved.getId()); } But I could not imagine how to update a specific field in a DB record since 2 reactive operations (findById & save) are involved. I wrote a code as below to create or update status if exists, but seems to be not working. public Mono<String> saveAbc(Abc toBeSaved) { return abcRepository.findById(toBeSaved.getId()) .map(current -> abcRepository.save(transform(toBeSaved, current)).map(saved -> saved.getId())) .flatMap(id -> id); } private Abc transform(Abc toBeSaved, Abc current) { if(current == null) { return toBeSaved; } else { current.setStatus(toBeSaved.getStatus()); return current; } } Can someone please assist on that? ...