AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

연결 옵션 지정

이 섹션에서는 Ruby 운전자 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI(연결 문자열 이라고도 함)를 사용하거나 Mongo::Client 생성자에 인수를 전달하여 연결을 구성할 수 있습니다.

연결 URI를 Mongo::Client 생성자에 전달하는 경우 문자열에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시에서 연결 URI에는 값이 60000connectTimeoutMS 옵션과 값이 truetls 옵션이 포함되어 있습니다.

uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"
client = Mongo::Client.new(uri)

연결 옵션을 연결 URI에 포함하는 대신 Mongo::Client 생성자에 인수로 전달할 수 있습니다. 이러한 방식으로 연결을 구성하면 런타임에 설정을 변경하고 컴파일 중에 오류를 포착하기가 더 쉬워집니다. 다음 예시 Mongo::Client 생성자를 사용하여 연결 옵션을 설정하다 방법을 보여 줍니다.

uri = "mongodb://<hostname>:<port>"
client = Mongo::Client.new(uri, connect_timeout: 60000, ssl: true)

다음 섹션에서는 Ruby 운전자 에서 사용할 수 있는 연결 옵션에 대해 설명합니다.

연결 옵션
설명

:compressors

사용할 수 있는 압축기 목록(선호도 순). 드라이버는 서버에서도 지원되는 첫 번째 압축기를 선택합니다. 현재 드라이버는 zstd, snappy, zlib만 지원합니다.

데이터 유형: Array<String>
기본값: 없음
클라이언트 예시: compressors: ['snappy', 'zstd', 'zlib']
연결 URI 예시: compressors=snappy,zstd,zlib

:zlib_compression_level

압축을 사용하는 경우 사용할 zlib 압축 수준입니다. 이 옵션은 -1 에서 9사이의 정수 값을 허용합니다.

- -1: zlib은 기본값 압축 수준(일반적으로 6)을 사용합니다.
- 0: 압축이 없습니다.
- 1: 속도는 가장 빠르지만 압축률은 가장 낮습니다.
- 9: 압축률은 가장 높지만 속도가 가장 느립니다.

자세한 내용은 Ruby의 zlib 모듈 도큐먼트를 참조하십시오.

데이터 유형: Integer
기본값: None
클라이언트 예시: zlib_compression_level: 3
연결 URI 예시: zlibCompressionLevel=3

연결 옵션
설명

:connect_timeout

예외가 발생하기 전에 소켓 연결을 설정하기 위해 대기할 시간(초) 입니다. 이 타임아웃은 SRV DNS 기록 해결에도 사용됩니다.

nil0 은 타임아웃이 없음을 의미합니다. 유효하지 않은 타임아웃 값(예: 음수 값 또는 숫자 아닌 값)을 전달하면 클라이언트 생성이 오류로 실패합니다.

데이터 유형: Float
기본값: 10.0
클라이언트 예시: connect_timeout: 10.0
연결 URI 예시: connectTimeoutMS=10000

:timeout_ms

오류가 발생하기 전에 작업이 실행되기를 기다리는 시간(밀리초)입니다.

0 은 시간 제한이 없음을 의미합니다. 유효하지 않은 시간 제한 값(예: 음수 값 또는 숫자 아닌 값)이 전달되면 클라이언트 생성이 오류로 실패합니다.

데이터 유형: Integer
기본값: 없음
클라이언트 예시: timeout_ms: 5000
연결 URI 예시: timeoutMS=5000

연결 옵션
설명

:load_balancing

로드 밸런서에 연결할 준비가 되어 있는지 여부입니다.

데이터 유형: Boolean
기본값: false
클라이언트 예시: load_balanced: { true }
연결 URI 예시: N/A

:server_monitoring_mode

사용할 서버 모니터링 프로토콜. 이 옵션을 :auto으로 설정하면 드라이버가 실행되는 환경에 따라 모니터링 모드가 결정됩니다. 드라이버는 Amazon Web Services Lambda와 같은 FaaS(서비스로서의 기능) 환경에서 폴링 모드를 사용하고 다른 환경에서는 스트리밍 모드를 사용합니다.

데이터 유형: Symbol
기본값: :auto
클라이언트 예시: server_monitoring_mode: :poll
연결 URI 예시: serverMonitoringMode=poll

:server_selection_timeout

드라이버가 서버 선택이 성공할 때까지 기다리는 최대 시간(초 단위).

데이터 유형: Integer
기본값: 30
클라이언트 예시: server_selection_timeout: 30
연결 URI 예시: serverSelectionTimeoutMS=30000

서버 선택에 대한 자세한 내용은 서버 선택 가이드를 참조하세요.

연결 옵션
설명

:auth_mech

Ruby 드라이버가 애플리케이션을 인증하는 메카니즘입니다.

데이터 유형: Symbol
기본값: :scram256
사용자 자격 증명이 제공되지 않은 경우nil.
클라이언트 예시: auth_mech: :scram256
연결 URI 예시: authMechanism=SCRAM-SHA-256

:auth_mech_properties

인증 메커니즘에 특유한 옵션입니다. 이 옵션은 모든 인증 메커니즘에 필요하지 않습니다.

데이터 유형: Hash
기본값: GSSAPI 인증 메커니즘을 사용할 때,
기본 속성은 {service_name: "mongodb"}입니다.
그렇지 않으면 기본값은 nil입니다.
클라이언트 예시: auth_mech_properties: {aws_session_token: '12345'}
연결 URI 예시: authMechanismProperties=AWS_SESSION_TOKEN:12345

:auth_source

인증할 데이터베이스.

데이터 유형: String
기본값: 자격 증명이 제공되면 admin
클라이언트 예시: auth_source: admin
연결 URI 예시: authSource=admin

: user

인증을 위한 사용자 이름입니다. 이 옵션이 연결 URI에 포함되면 백분 인코딩 해야 합니다.

데이터 유형: String
기본값: 없음
클라이언트 예시: user: my+user
연결 URI 예시: username=my+user

:password

인증을 위한 비밀번호입니다. 이 옵션이 연결 URI에 포함되면 백분 인코딩 해야 합니다.

데이터 유형: String
기본값: 없음
클라이언트 예시: password: strong+password
연결 URI 예시: password=strong+password

연결 옵션
설명

:replica_set

연결할 복제본 세트의 이름을 지정합니다.

데이터 유형: String
기본값: 없음
클라이언트 예시: replica_set: 'myRS'
연결 URI 예시: replicaSet=myRS

:direct_connection

지정된 호스트에 직접 연결할 지 여부

데이터 유형: Boolean
기본값: false
클라이언트 예시: direct_connection: true
연결 URI 예시: directConnection=true

:enable_overload_retargeting

드라이버가 과부하 오류를 반환하는 서버의 우선순위를 낮추는지, 동일한 과부하 서버에서 다시 시도할 가능성을 줄이는지.

데이터 유형: Boolean
기본값: false
클라이언트 예시: enable_overload_retargeting: true
연결 URI 예시: enableOverloadRetargeting=true

:max_adoptive_retries

드라이버가 과부하 오류를 발견할 때 시도할 최대 재시도 횟수입니다.

데이터 유형: Integer
기본값: 2
클라이언트 예시: max_adaptive_retries: 3
연결 URI 예시: maxAdaptiveRetries=3

:read

읽기 설정 (read preference) 옵션. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 설정 (read preference) 을 참조하세요.

데이터 유형: Hash
기본값: { mode: :primary }
클라이언트 예시: read: { mode: :primary }
연결 URI 예시: readPreference=primary

:read_concern

읽기 고려 (read concern) 옵션을 지정합니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 고려 (read concern) 를 참조하세요.

데이터 유형: Hash
기본값: 없음
클라이언트 예시: read: { level: :majority }
연결 URI 예시: readConcern=majority

:write_concern

클라이언트의 쓰기 고려 (write concern)를 지정합니다. 자세한 내용은 MongoDB Server 매뉴얼의 쓰기 고려 (write concern) 을 참조하세요.

데이터 유형: Hash
기본값: write_concern: { w: 1 }
클라이언트 예시: write_concern: { w: 2 }
연결 URI 예시: w=2

:local_threshold

복제본 세트 노드의 자격에 대한 지연 시간 창(초). 노드의 왕복 핑이 가장 빠른 서버의 왕복 핑 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버는 선택할 수 없습니다.

데이터 유형: Float
기본값: 0.015
클라이언트 예시: local_threshold: 0.020
연결 URI 예시: localThresholdMS=20

연결 옵션
설명

:max_pool_size

풀이 유지하는 동시 연결의 최대 수입니다. 서버에 대한 사용 중인 연결 수가 지정된 값에 도달하면 해당 서버에 대한 다음 요청은 연결이 사용 가능해질 때까지 대기합니다. 이 옵션을 0 으로 설정하면 무제한 연결 풀이 생성됩니다.

데이터 유형: Integer
기본값: 100
클라이언트 예시: max_pool_size: 100
연결 URI 예시: maxPoolSize=100

:max_connecting

각 풀이 동시에 설정할 수 있는 최대 연결 수입니다.

데이터 유형: Integer
기본값: 2
클라이언트 예시: max_connecting: 2
연결 URI 예시: maxConnecting=2

:min_pool_size

푸를 유지하는 최소 공시 연결 수.

데이터 유형: Integer
기본값: 0
클라이언트 예시: min_pool_size: 1
연결 URI 예시: minPoolSize=1

:max_idle_time

풀에서 연결이 유휴 상태로 유지될 수 있는 최대 시간(초)입니다.

데이터 유형: Integer
기본값: 0 (제한 없음)
클라이언트 예시: max_idle_time: 10
연결 URI 예시: maxIdleTimeMS=10000

연결 풀에 대한 자세한 내용은 연결 풀 가이드 참조하세요.

Ruby 운전자 의 Mongo::Client 옵션에 대한 자세한 내용은 Mongo::Client에 대한 API 설명서를 참조하세요.