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

연결 옵션

이 섹션에서는 .NET/C# 드라이버에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI 또는 MongoClientSettings 객체를 사용하여 연결을 구성할 수 있습니다.

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

using MongoDB.Driver;
// Sets the connection URI
const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a new client and connects to the server
var client = new MongoClient(connectionUri);

MongoClientSettings 객체를 사용하여 연결 URI가 아닌 코드에서 연결 설정을 구성할 수 있습니다. 이러한 방식으로 연결을 구성하면 런타임에 설정을 더 쉽게 변경할 수 있고, 컴파일 중에 오류를 포착하는 데 도움이 되며, 연결 URI보다 더 많은 구성 옵션을 제공할 수 있습니다.

MongoClientSettings 객체를 사용하려면 클래스의 인스턴스를 만들고 속성을 설정한 다음 MongoClient 생성자에 인수로 전달하세요.

//const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a MongoClientSettings object
var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("sample.host", 27017),
ConnectTimeout = new TimeSpan(0, 0, 60),
UseTls = true
};
// Creates a new client and connects to the server
var client = new MongoClient(settings);

다음 표에는 MongoClientSettings 클래스에서 사용할 수 있는 각 연결 옵션과 가능한 경우 연결 문자열에서 동일한 결과를 얻는 방법이 나열되어 있습니다. MongoClientSettings 속성이 연결 문자열에서 둘 이상의 옵션에 매핑되는 경우 연결 URI 예시에는 모든 관련 옵션이 표시됩니다.

참고

특정 기간 동안 쿼리 매개변수를 사용하는 경우 값은 밀리초 단위여야 합니다. 예를 들어 60초를 지정하려면 60000 값을 사용합니다. 해당 시간 동안 MongoClientSettings 객체를 사용하는 경우 적절한 TimeSpan 값을 사용합니다.

MongoClientSettings 속성
설명

AllowInsecureTls

TLS 제한 조건을 최대한 완화할지 여부를 지정합니다. 이에는 유효하지 않은 인증서 또는 호스트 이름 불일치가 포함될 수 있습니다.


이 속성이 으로 설정되고 true 가 로 SslSettings.CheckCertificateRevocation
false설정되면 .NET/C# 드라이버에서 예외가 발생합니다.

데이터 유형: boolean
기본값: false
연결 URI 예시: tlsInsecure=true

애플리케이션 이름

연결 핸드신크의 일부로 드라이버가 클라이언트 메타데이터에서 서버에 전달하는 앱 이름입니다.
연결이 설정되면 서버가 MongoDB 로그에 이 값을 한 번 인쇄합니다.
이 값은 느린 쿼리 로그
및 프로필 컬렉션에도 기록됩니다.

데이터 유형: string
기본값: null
연결 URI 예시: appName=yourApp

자동 암호화 옵션

클라이언트 사이드 자동 암호화를 위한 설정.

데이터 유형: AutoEncryptionOptions
기본값: null
연결 URI 예시: N/A

클러스터 구성자

소켓, TLS, 클러스터 등에 대한 하위 수준 구성 옵션입니다.

데이터 유형: 조치<ClusterBuilder>
기본값: null
연결 URI 예시: N/A

압축기

서버에 전송되거나 서버에서 수신하는 유선 프로토콜 메시지에 대한 기본 압축 유형(순서대로).
드라이버는
서버가 지원하는 이러한 압축 유형 중 첫 번째 유형을 사용합니다.

데이터 유형: CompressorConfiguration
기본값: null
연결 URI 예시: compressors=snappy,zstd

ConnectTimeout

시간이 초과하기 전에 드라이버가 서버에 단일 TCP 소켓 연결을 설정하려고 시도하는 시간의 길이입니다.


데이터 유형: TimeSpan
기본값: 30 초
연결 URI 예시: connectTimeoutMS=0

자격 증명

드라이버가 서버에 인증하는 방법에 대한 설정. 이에는
인증 자격 증명, 메커니즘, 소스 및 기타 설정이 포함됩니다.

인증 메커니즘을 지정하지 않으면 드라이버는 서버 버전에 따라서
SCRAM-SHA-1 또는 SCRAM-SHA-256을 사용합니다. 사용 가능한 인증 메커니즘에 대해서는
인증 메커니즘
을 참조하세요.

데이터 유형: MongoCredential
기본값: null
연결 URI 예시:

mongodb://user1:password1&authMechanism=GSSAPI
&authMechanismProperties=SERVICE_NAME:other,REALM:otherrealm
&authSource=$external

DirectConnection

모든 작업을 호스트에 강제로 디스패치할지 여부를 지정합니다.

이 옵션을 지정하면 드라이버는
DNS 시드 목록 연결 형식을 허용하지 않습니다.
대신 표준 연결 URI 형식 을사용해야 합니다.


호스팅하다 이름을 두 개 이상 지정하는 경우 이 속성을(으)로 설정해야 false 합니다.


데이터 유형: boolean
기본값: false
연결 URI 예시: directConnection=true

HeartbeatInterval

정기적인 서버 모니터링 검사 간격.
500 밀리초 이상이어야 합니다.

데이터 유형: TimeSpan
기본값: 10 초
연결 URI 예시: heartbeatFrequencyMS=5000

HeartbeatTimeout

모니터링 소켓이 시간 초과되기 전에 유휴 상태를 유지할 수 있는 시간입니다.

데이터 유형: TimeSpan
기본값: ConnectTimeout과 동일한 값
연결 URI 예시: heartbeatTimeoutMS=5000

IPv6

호스팅하다 주소가 IPv6 형식인지 여부를 지정합니다.

데이터 유형: boolean
기본값: false
연결 URI 예시: ipv6=true

IsFrozen

설정이 고정되었는지 여부를 나타냅니다. 고정 설정은 변경할 수 없습니다.
이 옵션은 읽기 전용입니다.

데이터 유형: boolean
기본값: false
연결 URI 예시: N/A

LinqProvider

사용할 LINQ 제공자입니다.

데이터 유형: LinqProvider
기본값: LinqProvider.V3
연결 URI 예시: N/A

로드 밸런싱

드라이버가 로드 밸런서에 연결하는지 여부를 지정합니다. 다음의 경우에만 이 속성을 true 으로 설정할 수 있습니다.

  • 호스트 이름을 하나만 지정합니다.

  • 복제본 세트에 연결하지 않습니다.

  • SrvMaxHosts 속성을 사용하고 있지 않습니다.

  • DirectConnection 속성을 사용하고 있지 않습니다.

데이터 유형: boolean
기본값: false
연결 URI 예시: loadBalanced=true

LocalThreshold

서버 자격에 대한 지연 시간 창입니다. 서버의 왕복 시간이 가장 빠른
서버의 왕복 시간에 이 값을 더한 값보다 긴 경우, 해당 서버는
선택할 수 없습니다.

데이터 유형: TimeSpan
기본값: 15 밀리초
연결 URL 예시: localThresholdMS=0

로깅 설정

로그에 사용되는 설정입니다.

데이터 유형: LoggingSettings
기본값: null
연결 URI 예시: N/A

MaxConnecting

드라이버의 연결 풀이
동시에 설정할 수 있는 최대 연결 수입니다.

데이터 유형: integer
기본값: 2
연결 URI 예시: maxConnecting=3

MaxConnectionIdleTime

드라이버가 연결을 닫기 전에 연결이 유휴 상태로 지속될 수 있는 시간입니다.

데이터 유형: TimeSpan
기본값: 10 분
연결 URI 예시: maxIdleTimeMS=300000

MaxConnectionLifeTime

연결이 만료되기 전에 풀링할 수 있는 시간입니다.

데이터 유형: TimeSpan
기본값: 30 분
연결 URI 예시: maxLifetimeMS=50000

최대 연결 풀 크기

드라이버가 연결 풀에서 생성할 수 있는 최대 클라이언트 또는 연결 수입니다.
이 카운트에는 사용 중인 연결이 포함됩니다.

데이터 유형: integer
기본값: 100
연결 URI 예시: maxPoolSize=150

최소 연결 풀 크기

작업이 발생하지 않는 경우에도 드라이버가 연결 풀에서 생성하고 유지해야 하는 연결 수입니다.
이 카운트에는
사용 중인 연결이 포함됩니다.

데이터 유형: integer
기본값: 0
연결 URI 예시: minPoolSize=1

readConcern

클라이언트의 기본값 읽기 고려 (read concern).
자세한 내용은 읽기 고려 (read concern) 를 참조하세요.

데이터 유형: ReadConcern
기본값: ReadConcern.Default
연결 URI 예시: readConcernLevel=local

ReadEncoding

string 역직렬화에 사용할 UTF-8 인코딩입니다.
유효하지 않은 UTF- 바이트 시퀴언스가 발견되면 엄격한 인코딩은8
예외를 발생시킵니다.

데이터 유형: UTF8Encoding
기본값: 엄격한 인코딩
연결 URI 예시: N/A

읽기 설정

클라이언트의 기본값 읽기 설정 (read preference)입니다. MaxStaleness
세컨더리 서버가 경험할 수 있는 실제 시간 기준으로 측정된 최대 복제 지연 시간을 나타내며,
여전히 서버 선택 대상이 될 수 있습니다. -1 을 지정하면 최대값이 없습니다.
자세한 내용은 읽기 설정 (read preference) 을 참조하세요.

데이터 유형: ReadPreference
기본값: ReadPreference.Primary
연결 URI 예시:

readPreference=primaryPreferred
&maxStalenessSeconds=90
&readPreferenceTags=dc:ny,rack:1

연결 URI에 readPreferenceTags 매개변수를 두 번 이상 포함할 수 있습니다. 이 경우 클라이언트는 각 인스턴스를 별도의 태그 세트로 취급합니다. URI에 있는 태그의 순서에 따라 읽기 설정 순서가 결정됩니다. 이 매개 변수는 읽기 설정 모드가 primary가 아닌 경우에만 사용할 수 있습니다.

복제본 세트 이름

연결할 복제본 세트의 이름입니다.

데이터 유형: string
기본값: null
연결 URI 예시: replicaSet=yourReplicaSet

읽기 재시도

재시도 가능 읽기를 활성화합니다.

데이터 유형: boolean
기본값: true
연결 URI 예시: retryReads=false

RetryWrites

재시도 가능 쓰기를 활성화합니다.

데이터 유형: boolean
기본값: true
연결 URI 예시: retryWrites=false

Scheme

표준 연결 문자열 형식(MongoDB)
또는 DNS 시드 목록 형식(MongoDBPlusSrv)을 사용할 지 여부를 지정합니다.
연결 문자열 형식에 대한 자세한 내용은 MongoDB 매뉴얼을 참조하세요.


DirectConnection 속성이 로 true
설정되어 있고 DNS 시드 목록 형식을 사용하려고 하면 .NET/C# 드라이버에서
예외가 발생합니다.

데이터 유형: ConnectionStringScheme
기본값: ConnectionStringScheme.MongoDB
연결 URI 예시: mongodb+srv://

서버

MongoDB가 실행 중인 호스트 및 포트 번호입니다.

데이터 유형: MongoServerAddress
기본값: localhost:27017
연결 URI 예시: mongodb://sample.host:27017

서버API

Stable API 버전을 선택할 수 있습니다. Stable API 버전에
대한 자세한 내용은 MongoDB 수동 을 참조하세요.


데이터 유형: ServerApi
기본값: null
연결 URI 예시: N/A

ServerMonitoringMode

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



데이터 유형: ServerMonitoringMode
기본값: Auto
연결 URI 예시: serverMonitoringMode=poll

서버

MongoDB가 실행 중인 클러스터 노드입니다.

데이터 유형: IEnumerable<MongoServerAddress>
기본값: localhost:27017
연결 URI 예시: mongodb://sample.host1:27017,sample.host2:27017

ServerSelectionTimeout

드라이버가 시간이 초과되기 전에 서버 선택을 시도하는 시간입니다.

데이터 유형: TimeSpan
기본값: 30 초
연결 URI 예시: serverSelectionTimeoutMS=15000

소켓 타임아웃

드라이버가 시간이
초과되기 전에 소켓에서 전송 또는 수신을 시도하는 시간의 길이입니다.

데이터 유형: TimeSpan
기본값: OS 기본값
연결 URI 예시: socketTimeoutMS=0

SRVmax 호스트

시드 목록을 초기화할 때 또는 SRV 폴맅 중 토폴로지에 새 호스트를 추가할 때 무작위로 선택할 수 있는 SRV 결과의 최대 개수입니다.


연결 문자열 스키마가(으)로 설정된 경우에만 이 속성을 사용할 수
ConnectionStringScheme.MongoDBPlusSrv있습니다. 복제본 세트에 연결할 때는 사용할 수 없습니다.


데이터 유형: integer
기본값: 0
연결 URI 예시: srvMaxHosts=3

SrvServiceName

드라이버가 시드 목록을 구성하기 위해 조회하는 SRV 리소스 기록 의 서비스 이름입니다.
이 속성은 검색 및 폴링에서
SRV 조회에 대한 기본값 서비스 이름을 재정의합니다.


연결 문자열 스키마가 로 설정된 경우에만 이 속성을 사용할 수
ConnectionStringScheme.MongoDBPlusSrv있습니다. 복제본 세트에 연결할 때는 사용할 수 없습니다.


데이터 유형: string
기본값: "mongodb"
연결 URI 예시: srvServiceName="customname"

SslSettings

클라이언트 인증서, 해지 처리, TLS/SSL 프로토콜
활성화 및 비활성화를 포함하는 TLS/SSL 옵션.

SslSettings.CheckCertificateRevocationfalse 로 설정되고
AllowInsecureTlstrue로 설정되면 .NET/C# 드라이버에서
예외가 발생합니다.

데이터 유형: SslSettings
기본값: null
연결 URI 예시: tlsDisableCertificateRevocationCheck=false

UseTls

서버에 연결할 때 TLS를 요구할지 여부를 지정합니다.
"mongodb+srv" 의 스키마를 사용하거나 다른 TLS 옵션을
지정하면 이 옵션의 기본값은 true 이(가) 됩니다.

데이터 유형: boolean
기본값: false
연결 URI 예시: tls=true

대기열 시간 초과

운전자가 시간이
초과되기 전에 서버의 연결 풀에서 연결을 체크아웃하려고 시도하는 시간입니다.

데이터 유형: TimeSpan
기본값: 2 분
연결 URI 예시: waitQueueTimeoutMS=0

writeConcern

클라이언트를 위한 쓰기 (write) 시간 초과 및 저널링을 포함한 기본
쓰기 고려 (write concern) 설정입니다.
자세한 내용은 쓰기 고려 (write concern) 를 참조하세요.

데이터 유형: WriteConcern
기본값: WriteConcern.Acknowledged
연결 URI 예시: w=majority&wTimeoutMS=0&journal=true

쓰기 인코딩

UTF-8 string 직렬화를 엄격하게 할지 관대하게 할지 지정합니다. 엄격한
인코딩을 사용하면 드라이버는 유효하지 않은
UTF-8 바이트 시큰스가 발견되면 예외를 발생시킵니다.

데이터 유형: UTF8Encoding
기본값: 엄격한 인코딩
연결 URI 예시: N/A