AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

연결 옵션 지정

이 섹션에서는 Rust 드라이버 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI( 연결 문자열이라고도 함)를 사용하거나 Client를 생성할 때 ClientOptions 인스턴스에 필드를 설정하여 연결을 구성할 수 있습니다.

연결 URI를 Client::with_uri_str 메서드에 전달하는 경우 문자열에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시 값이 60000connectTimeoutMS 옵션과 값이 truetls 옵션이 포함된 연결 URI를 보여 줍니다.

use mongodb::Client;
let uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true";
let client = Client::with_uri_str(uri).await?;

연결 URI에 포함하는 대신 ClientOptions 인스턴스 에서 연결 옵션을 설정하다 수 있습니다. ClientOptions 인스턴스 사용하여 연결을 구성하면 런타임에 설정을 변경하고 컴파일 중에 오류를 포착하기가 더 쉽습니다. 다음 예시 ClientOptions 를 사용하여 연결 옵션을 설정하다 방법을 보여 줍니다.

use std::time::Duration;
use mongodb::{Client, options::ClientOptions};
let uri = "mongodb://<hostname>:<port>/";
let mut client_options = ClientOptions::parse(uri).await?;
client_options.connect_timeout = Some(Duration::from_secs(60000));
//Set additional options on client_options here
let client = Client::with_options(client_options)?;

다음 섹션에서는 Rust 드라이버 에서 사용할 수 있는 연결 옵션에 대해 설명합니다. 연결 옵션의 전체 목록을 보려면 연결 문자열에 대한 연결 문자열 옵션 섹션 서버 가이드를 참조하세요.

옵션 이름
허용되는 값
기본값
설명

압축기

쉼표로 구분된 문자열 목록

none

인스턴스 Client 지정된 순서대로 사용하는 압축기를 지정합니다.
네트워크 압축에 대해 자세히 학습 네트워크 압축 가이드 참조하세요.

zlibCompressionLevel

0 ~ 9사이의 정수

6

해당 압축기를 사용하는 경우 압축의 레벨 필드 지정합니다. 레벨 값이 높을수록 압축률이 높아져 속도가 느려집니다.zlib
0 값을 설정하면 압축이 없는 것으로 지정되고, 값을 9 설정하면 최대 압축이 지정됩니다.
네트워크 압축에 대해 자세히 학습 네트워크 압축 가이드 참조하세요.

옵션 이름
허용되는 값
기본값
설명

connectTimeoutMS

Non-negative integer

10000 (10초)

서버에 연결을 시도할 때 각 기본 TCP 스트림에 전달되는 연결 제한 시간(밀리초)을 지정합니다.

옵션 이름
허용되는 값
기본값
설명

heartbeatFrequencyMS

500보다 크거나 이와 동일한 정수

10000 (10초)

각 모니터링 스레드가 서버 검사를 수행하는 사이에 대기하는 시간(밀리초)을 지정합니다.

최대 보관 기간

-1, 또는 다음보다 크거나 같은 정수 90

-1

지정된 작업에 대해 세컨더리 노드 고려할 수 있는 프라이머리 노드 뒤의 최대 지연 시간(초)을 지정합니다.
이 옵션의 값은 이상이어야 90 하며, 그렇지 않으면 작업에서 오류가 발생합니다.-1 값은 최대 지연이 없음을 의미합니다.

serverSelectionTimeoutMS

Non-negative integer

30000 (30초)

Client 인스턴스가 시간 초과되기 전에 작업에 대한 서버를 선택하려고 할 때 대기하는 시간(밀리초)을 지정합니다.

옵션 이름
허용되는 값
기본값
설명

authMechanism

문자열

none

사용할 인증 메커니즘을 지정합니다. 이 옵션을 지정하지 않으면 드라이버는 기본 인증 메커니즘을 사용합니다. Rust 드라이버의 인증에 대해 자세히 알아보려면 인증 메커니즘 가이드를 참조하세요.

authMechanismProperties

문자열

none

authMechanism 옵션에 설정된 인증 메커니즘에 대한 추가 속성을 지정합니다.

authSource

문자열

설명 참조

인증에 사용되는 데이터베이스 지정합니다.
이 옵션의 기본값은 admin SCRAM 기반$external MONGODB-X509 인증 메커니즘의 $external 경우,PLAIN 메커니즘의 경우, 메커니즘의 경우 데이터베이스 이름 또는 입니다.

TLS

부울

false

서버 와의 연결에 사용할 인스턴스 의 TLS 구성을 지정합니다.Client
기본값 으로 TLS는 꺼져 있습니다.

tlsAllowInvalidCertificates

부울

false

서버 유효하지 않은 인증서를 제시하는 경우 인스턴스 오류를 반환할지 Client
여부를 지정합니다.true 애플리케이션 에 취약점이 생성되지 않도록 하려면 테스트 환경에서만 이 옵션을 로 설정하다 것이 좋습니다.

tlsCAFile

문자열

설명 참조

인스턴스 Client TLS에 사용하는 인증 기관(CA) 파일 의 경로를 지정합니다.
이 옵션을 지정하지 않으면 운전자 크레이트에 있는 Mozilla 루트 인증서를 webpki-roots 사용합니다.

tlsCertificateKeyFile

문자열

none

인스턴스 식별을 Client 확인하기 위해 서버 에 제공하는 인증서 파일 의 경로를 지정합니다.
이 옵션을 설정하다 하지 않으면 인스턴스 Client 서버 에 대해 ID를 확인하려고 시도하지 않습니다.

tlsCertificateKeyFilePassword

문자열

none

키가 암호화됨 된 경우 인증서 파일 의 개인 키를 해독하기 위한 비밀번호를 지정합니다.

tlsInsecure

부울

false

서버 유효하지 않은 인증서를 제시하는 경우 인스턴스 오류를 반환할지 Client
여부를 지정합니다.true 애플리케이션 에 취약점이 생성되지 않도록 하려면 테스트 환경에서만 이 옵션을 로 설정하다 것이 좋습니다.

옵션 이름
허용되는 값
기본값
설명

directConnection

부울

false

cluster의 모든 서버를 검색하여 연결하는 대신 Client 인스턴스를 단일 호스트에 직접 연결할지 여부를 지정합니다.

enableOverloadRetargeting

부울

false

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

journal

부울

false

작업이 온디스크 저널로 전파되었음을 확인 요청합니다.

localThresholdMS

Non-negative integer

15

적합한 모든 서버의 가장 짧은 왕복 시간과 비교하여 운전자 와 서버 간의 평균 왕복 시간이 지속될 수 있는 시간을 밀리초 단위로 지정합니다.
값은 0 지연 시간 창 없으므로 평균 왕복 시간이 가장 짧은 서버 만 자격이 있습니다.

maxAdaptiveRetries

Non-negative integer

2

드라이버 에 과부하 오류가 발생할 경우 시도할 수 있는 최대 재시도 횟수를 지정합니다.

readConcernLevel

문자열

none

인스턴스 Client 에서 수행되는 작업에 대한 기본값 읽기 고려 (read concern) 지정합니다.
자세히 학습 서버 매뉴얼의 읽기 고려를 참조하세요.

읽기 설정

문자열

primary

운전자 읽기 작업을 복제본 세트 의 멤버로 라우팅하는 방법을 지정합니다. 자세한
학습 은 서버 매뉴얼의 읽기 설정을 참조하세요.

readPreferenceTags

쉼표로 구분된 키-값 쌍 목록

none

작업에 고려할 복제본 세트 멤버를 지정합니다. 이 키의 각 인스턴스 는 별도의 태그 세트 입니다.
운전자 설정하다 에 각 태그를 지정하다 있는 서버를 하나 이상 찾을 때까지 각 태그 세트 확인합니다.

복제본 세트

문자열

none

Client 인스턴스가 연결되는 복제본 세트의 이름을 지정합니다.

retryReads

부울

true

작업이 실패할 경우 클라이언트가 읽기 작업을 다시 시도할지 여부를 지정합니다.

w

음수가 아닌 정수 또는 문자열

none

작업이 특정 수 또는 다양한 서버로 전파되었음을 확인 요청합니다. 자세한
학습 은 서버 매뉴얼의 쓰기 고려를 참조하세요.

wTimeoutMS

Non-negative integer

시간 초과 없음

쓰기 고려 (write concern) 에 대한 시간 제한(밀리초)을 지정합니다.
작업이 제한 시간 내에 요청된 수준으로 전파되지 않으면 운전자 오류가 발생합니다.

옵션 이름
허용되는 값
기본값
설명

maxIdleTimeMS

Non-negative integer

0

서버 연결을 닫기 전에 연결 풀 에서 유휴 상태로 유지될 수 있는 시간(밀리초)을 지정합니다.
값은 0 클라이언트 유휴 연결을 닫지 않음을 나타냅니다.

maxPoolSize

Non-negative integer

10

인스턴스 가 지정된 서버 의 연결 풀 에 생성할 수 있는 최대 연결 수를 지정합니다. 연결의 Client
값이 체크아웃된 상태에서 작업을 시도하면 maxPoolSize 진행 중인 작업이 완료되고 연결이 풀로 반환될 때까지 작업이 대기합니다.

minPoolSize

Non-negative integer

0

주어진 시간에 서버의 연결 풀 에서 사용할 수 있는 최소 연결 수를 지정합니다.
minPoolSize 풀에 있는 연결이 미만인 경우 서버 값까지 배경 에서 연결을 minPoolSize 추가합니다.

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

옵션 이름
허용되는 값
기본값
설명

앱 이름

문자열

none

인스턴스 핸드셰이크의 일부로 서버 에 보내는 애플리케이션 이름을 지정합니다.Client
appName 지정하면 서버 로그를 사용하여 Client 서버 에 연결된 인스턴스 확인하는 데 도움이 될 수 있습니다.

Rust 드라이버 의 ClientOptions 에 대한 자세한 내용은 ClientOptionsAPI 설명서를 참조하세요.