
getWriteResult 메소드는 WriteException이 발생한 시점에 MongoDB 서버에서 반환한 결과를 반환합니다. 이 메소드는 WriteException의 원인을 파악하는 데 도움이 됩니다.
getWriteResult 메소드는 WriteResult 객체를 반환하며, 이 객체에는 다음과 같은 정보가 포함됩니다.
- insertedCount: 저장된 문서의 수
- matchedCount: 업데이트 또는 삭제된 문서의 수
- modifiedCount: 업데이트된 문서의 수
- upsertedCount: 업셋된 문서의 수
- upsertedId: 업셋된 문서의 _id 필드 값
- writeConcernError: 쓰기 우선 순위 오류가 발생한 경우에 대한 정보
이 정보를 통해 WriteException의 원인을 파악할 수 있습니다. 예를 들어, insertedCount가 0이면 데이터가 저장되지 않은 것으로 보입니다. matchedCount가 0이면 업데이트 또는 삭제된 문서가 없다는 뜻입니다.
다음은 예제입니다.
#hostingforum.kr
java
try {
// 데이터 저장
WriteResult result = collection.insertOne(document);
System.out.println("저장된 문서 수: " + result.getInsertedCount());
System.out.println("업데이트된 문서 수: " + result.getModifiedCount());
System.out.println("업셋된 문서 수: " + result.getUpsertedCount());
System.out.println("업셋된 문서 _id: " + result.getUpsertedId());
} catch (WriteException e) {
// WriteException이 발생한 경우
WriteResult result = e.getWriteResult();
System.out.println("저장된 문서 수: " + result.getInsertedCount());
System.out.println("업데이트된 문서 수: " + result.getModifiedCount());
System.out.println("업셋된 문서 수: " + result.getUpsertedCount());
System.out.println("업셋된 문서 _id: " + result.getUpsertedId());
}
이 예제에서 WriteException이 발생한 경우 getWriteResult 메소드를 사용하여 WriteResult 객체를 얻고, 이 객체의 정보를 출력하여 WriteException의 원인을 파악할 수 있습니다.
2025-03-04 05:54