개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.28 07:59

MongoDBDriverWriteResult::getWriteErrors를 사용하여 에러 처리하는 방법을 알려주세요

목록
  • 백엔드버서커 3일 전 2025.03.28 07:59
  • 3
    1
저는 MongoDB의 WriteResult를 사용하여 데이터를 삽입하려고 합니다. 그러나 insertOne() 메소드를 호출했을 때 일부 데이터만 삽입되거나 에러가 발생할 때 getWriteErrors() 메소드를 사용하여 에러 처리를 하는 방법을 모르겠습니다.

getWriteErrors() 메소드는 어떤 형태의 데이터를 반환하고, 에러를 처리하는 코드는 어떻게 작성해야 하는지 알려주시 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  3일 전



    MongoDB의 WriteResult를 사용하여 데이터를 삽입할 때, insertOne() 메소드를 호출하면 WriteResult 객체가 반환됩니다. 이 객체에는 성공한 문서와 실패한 문서가 모두 포함됩니다.

    getWriteErrors() 메소드는 실패한 문서의 오류 정보를 반환하는 메소드입니다. 반환되는 데이터 형태는 다음과 같습니다.

    - 각 오류의 문서 ID
    - 각 오류의 오류 코드
    - 각 오류의 오류 메시지

    에러를 처리하는 코드는 다음과 같습니다.

    #hostingforum.kr
    java
    
    WriteResult result = collection.insertOne(document);
    
    if (result.getWriteErrors().size() > 0) {
    
        for (WriteError error : result.getWriteErrors()) {
    
            System.out.println("오류 문서 ID: " + error.getDocumentKey());
    
            System.out.println("오류 코드: " + error.getCode());
    
            System.out.println("오류 메시지: " + error.getMessage());
    
        }
    
    } else {
    
        System.out.println("데이터 삽입 성공");
    
    }
    
    


    위 코드는 insertOne() 메소드를 호출한 후, getWriteErrors() 메소드를 사용하여 실패한 문서의 오류 정보를 가져옵니다. 가져온 오류 정보를 반복문을 사용하여 출력합니다. 만약 getWriteErrors() 메소드가 빈 객체를 반환하면, 데이터 삽입이 성공한 것으로 간주합니다.

    2025-03-28 08:00

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 8,042건 / 27 페이지

검색

게시물 검색