문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/

재시도 가능한 읽기

이 페이지의 내용

  • 전제 조건
  • 재시도 가능 읽기 활성화
  • 재시도 가능 읽기 작업
  • 행동

재시도 가능 읽기는 특정 네트워크 또는 서버 오류가 발생할 경우 MongoDB 드라이버가 특정 읽기 작업을 한 번만 자동으로 재시도할 수 있도록 합니다.

최소 드라이버 버전

MongoDB Server 4.2 이상과 호환되는 공식 MongoDB 드라이버는 재시도 가능 읽기를 지원합니다.

공식 MongoDB 드라이버에 대한 자세한 내용은 MongoDB 드라이버를 참조하세요.

최소 서버 버전
드라이버는 MongoDB Server 3.6 이상에 연결된 경우에만 읽기 작업을 다시 시도할 수 있습니다.

MongoDB Server 와 호환되는 공식 MongoDB 4 2 드라이버입니다. 이상에서는 기본적으로 재시도 가능 읽기를 활성화합니다. 재시도 가능 읽기를 명시적으로 비활성화하려면 retryReads=false 배포에 대한 연결 문자열 에 를 지정합니다.

mongosh 재시도 가능 읽기를 지원하지 않습니다.

MongoDB 드라이버는 다음 읽기 작업 재시도를 지원합니다. 이 목록은 각 메서드에 대한 일반적인 설명을 참조하세요. 구체적인 구문과 사용법은 해당 메서드에 대한 드라이버 문서를 참조하세요.

방법
설명
Collection.aggregate
Collection.count
Collection.countDocuments
Collection.distinct
Collection.estimatedDocumentCount
Collection.find
Database.aggregate

Collection.aggregateDatabase.aggregate의 경우 드라이버는 $out 또는 $merge와 같이 쓰기 단계를 포함하지 않는 집계 파이프라인만 다시 시도할 수 있습니다.

CRUD API 읽기 작업
Collection.watch
Database.watch
MongoClient.watch
변경 스트림 작업
MongoClient.listDatabases
Database.listCollections
Collection.listIndexes
열거 작업
Collection.find가 지원하는 GridFS 작업(예: GridFSBucket.openDownloadStream)
GridFS 파일 다운로드 작업

MongoDB 드라이버에는 헬퍼 메서드나 재시도 가능 읽기 작업을 감싸는 메서드와 같은 다른 작업에 대한 재시도 지원이 포함될 수 있습니다. 메서드가 명시적으로 재시도 가능 읽기를 지원하는지 확인하려면 드라이버 문서를 참조하세요.

다음도 참조하세요.

다음 작업은 재시도 가능 읽기를 지원하지 않습니다.

  • db.collection.mapReduce()

  • getMore

  • 읽기 또는 쓰기 명령에 대해 구애받지 않는 일반 Database.runCommand 헬퍼에 전달된 모든 읽기 명령입니다.

MongoDB 재시도 가능 읽기는 한 번만 재시도할 수 있습니다. 이는 일시적인 네트워크 오류나 복제본 세트 투표를 해결하는 데 도움이 되지만 지속적인 네트워크 오류는 해결하지 못합니다.

드라이버는 읽기 작업을 다시 시도하기 전에 읽기 명령의 원래 읽기 설정을 사용하여 서버 선택을 수행합니다. 드라이버가 원래 읽기 설정을 사용하여 재시도를 시도할 서버를 선택할 수 없는 경우 드라이버는 원래 오류를 반환합니다.

드라이버는 서버 선택을 수행하기 전에 serverSelectionTimeoutMS 밀리초 동안 대기합니다. 재시도 가능 읽기는 serverSelectionTimeoutMS 동안 대기 후 적격 서버가 존재하지 않는 인스턴스를 처리하지 않습니다.

돌아가기

재시도 가능한 쓰기

다음

SQL에서 MongoDB로