[MongoDB/SpringBoot] 데이터 수정하기 (Update)

Glen(OH TaekJoo)·2023년 11월 20일
0

Study

목록 보기
46/53
post-thumbnail

관련포스팅 ↓

mongoDB 설정 / 데이터 넣기 (Create)

MongoDB 데이터 가져오기 (Read)

현재 위치→MongoDB 데이터 수정하기 (Update)

MongoDB 데이터 삭제하기 / DeleteMapping 사용해보기 (Delete)

이번에는 몽고DB 에 저장된 데이터를 SpringBoot 에서 수정 해보았다.
Update 과정에서는 오류는 발생하지 않아 작성한 코드만 리뷰를 적어보겠다.

RestController

@GetMapping("/update/{id}")
    public Mongo update(@PathVariable String id , @RequestParam(value = "text1")String text1 ,@RequestParam(value = "text2")String text2  ){
        Mongo mongo = this.mongService.getId(id);
        Mongo updateMongo=this.mongService.update(mongo,text1,text2);
        return updateMongo;
    }

수정할 도큐먼트의 id를 @PathVariable 로 받고 해당 도큐먼트의 수정할 필드 값을 @RequestParam 으로 받아 수정을 진행했다.

받은 id 값은 서비스에서 findById 를 이용해 도큐먼트를 찾아서 가져왔다.
가져온 도큐먼트와 파라미터값으로 받았던 필드값들을 서비스의 수정메서드에 넣어 수정을 하고
수정된 도큐먼트를 반환하도록 작성하였다.

Service

    public  Mongo getId(String id){
        
        try{
            return this.mongoRepo.findById(id).get();
        } catch (Exception e){
            e.printStackTrace();;
            throw new RuntimeException("가져오기 실패",e);
        }

    }


    public Mongo update(Mongo mongo , String text1 , String text2){
        mongo.setText1(text1);
        mongo.setText2(text2);
        this.mongoRepo.save(mongo);
        return mongo;
    }

이전 포스팅의 List를 Read 하는 부분에서 오류가 났었어서 이번에도
가져오기 쪽에 try catch 를 사용하여 혹시모를 오류에 예외처리를 추가했다.

반환받은 도큐먼트와 필드값을 Setter 를 이용하여 수정하고
레포에 저장한 후 수정된 도큐먼트를 반환하였다.

결과값

수정 후 반환받은 도큐먼트가 화면에 잘 나왔다


DB 에도 적용이 잘 되었다.

profile
병아리 개발자 의 우당탕탕 성장기

0개의 댓글