연결 옵션
이 섹션에서는 드라이버에서 지원하는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 옵션을 연결 URI의 매개변수로 전달하여 클라이언트의 동작을 지정할 수 있습니다.
이름 | 허용되는 값 | 기본값 | 설명 |
---|---|---|---|
앱 이름 | 문자열 | null | 연결 핸드셰이크의 일부로 드라이버가 서버에 전달하는 앱 이름을 클라이언트 메타데이터에 지정합니다. 드라이버는 연결 구축 시 MongoDB에 appName 값을 보냅니다. 이 값은 로그 파일, 느린 쿼리 로그 및 프로필 컬렉션에 기록됩니다. |
authMechanism | 문자열 | null | 서버 연결 시 사용할 인증 메커니즘 방법을 지정합니다. 값을 지정하지 않으면 드라이버는 서버 버전에 따라 기본 메커니즘 SCRAM-SHA-1 또는 SCRAM-SHA-256 을 사용합니다. 사용 가능한 인증 메커니즘에 대해서는 인증 메커니즘을 참조하세요. |
authMechanismProperties | 쉼표로 구분된 키: 'opt1:val1,opt2:val2'와 같은 값 쌍 | null | GSSAPI에 대한 호스트 이름 정규화 활성화와 같이 인증을 위해 제공되는 다른 옵션을 지정합니다. |
authSource | 문자열 | null | 연결이 인증할 데이터베이스를 지정합니다. |
압축기 | 'snappy,zlib,zstd'와 같이 쉼표로 구분된 문자열 목록 | null | 서버와 주고받는 유선 프로토콜 메시지에 허용되는 압축 유형을 지정합니다. 자세한 내용은 네트워크 압축을 참조하세요. |
connectTimeoutMS | non-negative integer | 30000 | 오류가 발생하기 전에 서버에 단일 TCP 소켓 연결을 설정하기 위해 대기할 시간(밀리초)을 지정합니다. 0 을 지정하면 연결 시간 제한이 비활성화됩니다. |
directConnection | 부울 | false | 연결 URI에 지정된 호스트에 모든 작업을 강제로 디스패치할지 여부를 지정합니다. |
enableUtf8Validation | 부울 | true |
Node.js 코드에서 UTF-8 유효성 검사를 설정할 수도 있습니다. UTF- 문자에 대해 자세히 알아보려면 UTF- 를8 8 참조하세요. 위키피디아에서. |
heartbeatFrequencyMS | 500보다 크거나 이와 동일한 정수 | null | 정기적인 서버 모니터링 확인 사이의 간격(밀리초)을 지정합니다. |
journal | 부울 | null | 클라이언트에 대한 저널 쓰기 고려를 지정합니다. 자세한 내용은 쓰기 고려를 참조하세요. |
loadBalanced | 부울 | null | 드라이버가 로드 밸런서에 연결 중인지 여부를 지정합니다. |
localThresholdMS | non-negative integer | 15 | 적합한 서버를 선택하기 위한 왕복 시간에서 지연 시간 창의 크기(밀리초)를 지정합니다. 0 을 지정하면 대기 시간이 없으므로 사용 가능한 가장 빠른 서버를 사용할 수 있습니다. |
maxIdleTimeMS | non-negative integer | 0 | 연결이 닫히기 전 유휴 상태가 유지될 수 있는 시간(밀리초)을 지정합니다. 0 을 지정하면 최소값이 없습니다. |
maxPoolSize | non-negative integer | 100 | 드라이버가 연결 풀에 생성할 수 있는 최대 클라이언트 또는 연결 수를 지정합니다. 이 수에는 사용 중인 연결이 포함됩니다. |
maxConnecting | non-negative integer | 2 | 드라이버의 연결 풀이 동시에 설정할 수 있는 최대 연결 수를 지정합니다. |
최대 보관 기간 | -1 또는 90보다 크거나 90과 같은 정수 | null | 세컨더리가 경험할 수 있고 계속해서 서버 선택에 적합한 실제 시간 기준으로 측정된 최대 복제 지연 시간을 나타냅니다. -1 을 지정하면 최대값이 없습니다. |
minPoolSize | non-negative integer | 0 | 작업이 발생하지 않는 경우에도 드라이버가 연결 풀에서 생성하고 유지 관리하는 연결 수를 지정합니다. 이 수에는 사용 중인 연결이 포함됩니다. |
proxyHost | 문자열 | null | SOCKS5 프록시 IPv4 주소, IPv6 주소 또는 도메인 이름을 지정합니다. |
proxyPort | non-negative integer | null | SOCKS5 프록시 서버의 TCP 포트 번호를 지정합니다. proxyHost 옵션을 설정하면 이 옵션의 기본값은 1080 (으)로 설정됩니다. |
proxyUsername | 문자열 | null | SOCKS5 프록시 서버에 인증할 사용자 이름을 지정합니다. 이 옵션을 길이가 0인 문자열로 설정하면 드라이버는 이를 무시합니다. |
proxyPassword | 문자열 | null | SOCKS5 프록시 서버에 대한 인증을 위한 비밀번호를 지정합니다. 이 옵션을 길이가 0인 문자열로 설정하면 드라이버는 이를 무시합니다. |
readConcernLevel | 문자열 | null | 클라이언트에 대한 기본 읽기 고려를 지정합니다. 자세한 내용은 읽기 고려를 참조하세요. |
읽기 설정 | 문자열 | "primary" | 클라이언트의 기본 읽기 설정(태그 제외)을 지정합니다. 자세한 내용은 읽기 설정을 참조하세요. |
readPreferenceTags | 쉼표로 구분된 키:값 쌍(예시: "dc:ny,rack:1" and "dc:ny는 여러 번 지정할 수 있으며, 이 키의 각 인스턴스는 별도의 태그 세트입니다. | null | 클라이언트에 대한 기본 읽기 설정 태그를 지정합니다. 이 옵션은 읽기 설정 모드가 프라이머리가 아닌 경우에만 유효합니다. 드라이버는 URI의 태그 순서를 읽기 설정 순위로 사용합니다. |
복제본 세트 | 문자열 | null | 연결한 복제본 세트의 이름을 지정합니다. |
retryReads | 부울 | true | 재시도 가능 읽기를 활성화합니다. |
retryWrites | 부울 | true | 재시도 가능 쓰기를 활성화합니다. |
serverMonitoringMode | auto , stream , poll | auto | 드라이버 모니터가 사용하는 모니터링 모드를 지정합니다. 이 옵션을 auto 로 설정하면 드라이버가 실행되는 환경에 따라 모니터링 모드가 결정됩니다. 드라이버는 FaaS(서비스로서의 기능) 환경에서 폴링 모드를 사용하고 다른 환경에서는 스트리밍 모드를 사용합니다. |
serverSelectionTimeoutMS | non-negative integer | 30000 | 오류가 발생하기 전에 서버 선택을 차단하는 제한 시간(밀리초)을 지정합니다. |
서버 선택 시도 | 부울 | true | 서버 선택 시간이 초과될 때까지 반복적으로 토폴로지를 스캔하는 대신 서버 선택 실패 후 한 번만 토폴로지를 스캔하도록 지정합니다. |
socketTimeoutMS | non-negative integer | 0 | 제한 시간이 초과되기 전에 소켓에서 송신 또는 수신을 시도하는 데 소요되는 시간 (밀리초)을 지정합니다. 0 을 지정하면 시간 제한이 없습니다. |
srvMaxHosts | non-negative integer | 0 | 시드 목록을 처음 채울 때 또는 SRV 폴링 중에 토폴로지에 새 호스트를 추가할 때 무작위로 선택할 SRV 결과의 최대 개수를 지정합니다. |
srvServiceName | RFC 6335에 따른 유효한 SRV 서비스 이름 | "mongodb" | 초기 DNS 시드 목록 검색에서 SRV 조회에 사용할 서비스 이름을 지정합니다. |
ssl | 부울 | false | ssl 는 tls 옵션의 별칭입니다. |
TLS | 부울 | false | 서버에 연결할 때 TLS가 필요한지 여부를 지정합니다. "mongodb+srv" 의 srvServiceName 을 사용하거나 다른 tls 접두사가 붙은 옵션을 지정하면 암시적으로 tls 값이 true 로 설정됩니다. |
tlsAllowInvalidCertificates | 부울 | false | 서버의 TLS 인증서가 유효하지 않은 경우 드라이버가 오류를 생성하는지 여부를 지정합니다. 테스트 목적으로만 이 옵션을 true 로 설정합니다. |
tlsAllowInvalidHostnames | 부울 | false | 서버의 호스트 이름과 TLS 인증서에 지정된 호스트 이름이 일치하지 않을 때 드라이버가 오류를 생성할지 여부를 지정합니다. 테스트 목적으로만 이 옵션을 true 로 설정합니다. |
tlsCAFile | 문자열 | null | TLS 연결을 작성할 때 신뢰할 수 있는 인증 기관의 단일 또는 번들이 있는 파일의 경로를 지정합니다. 이 연결 옵션 설정에 대해 자세히 알아보려면 TLS 가이드의 인증서 파일 경로 제공 섹션을 참조하세요. |
tlsCertificateKeyFile | 문자열 | null | 클라이언트 인증서 파일 또는 클라이언트 개인 키 파일의 경로를 지정합니다. 둘 다 필요한 경우 파일을 연결해야 합니다. 이 연결 옵션 설정에 대해 자세히 알아보려면 TLS 가이드의 인증서 파일 경로 제공 섹션을 참조하세요. |
tlsCertificateKeyFilePassword | 문자열 | null | TLS 연결에 사용할 클라이언트 개인 키를 해독하기 위한 비밀번호를 지정합니다. |
tlsInsecure | 부울 | false | 유효하지 않은 인증서나 호스트 이름 불일치를 허용하는 등 TLS 제약 조건을 최대한 완화하도록 지정합니다. 테스트 목적으로만 이 옵션을 true 로 설정합니다. |
w | 음수가 아닌 정수 또는 문자열 | null | 클라이언트에 대한 기본 쓰기 고려 "w" 필드를 지정합니다. |
waitQueueTimeoutMS | non-negative integer | 0 | 시간이 초과되기 전에 서버의 연결 풀에서 연결 확인을 시도하는 시간(밀리초)을 지정합니다. |
wTimeoutMS | non-negative integer | null | 클라이언트에 대한 기본 쓰기 고려 시간 초과 필드를 지정합니다. |
zlibCompressionLevel | -1 에서 9 사이의 정수(포괄적) | -1 | zlib를 사용하여 유선 프로토콜 메시지를 압축할 때 압축 수준을 지정합니다. -1 은 기본 수준을 나타내고, 0 은 압축이 없음을 나타내고, 1 은 가장 빠른 속도를 나타내고, 9 는 최상의 압축을 나타냅니다. 자세한 내용은 네트워크 압축을 참조하세요. |