Docs Menu
Docs Home
/ / /
C#/ .NET 드라이버
/

연결 옵션 지정

이 페이지에서는 .NET/ C# 드라이버 에서 사용할 수 있는 연결 옵션과 이를 MongoDB 연결에 적용 방법을 설명합니다.

다음 섹션에서는 연결 옵션을 지정하는 방법에 대해 설명합니다.

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

const string uri = "mongodb+srv:/localhost:27017/?connectTimeoutMS=60000&tls=true";

연결 URI에서 지정할 수 있는 옵션에 대해 자세히 학습 MongoDB Server 매뉴얼에서연결 문자열 옵션을 참조하세요.

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

MongoClientSettings 객체 에서 연결 옵션을 설정하다 하려면 다음 단계를 수행합니다.

  1. MongoClientSettings 클래스의 인스턴스 만들기

  2. 인스턴스 의 속성을 설정하여 연결을 구성합니다.

  3. 인스턴스 MongoClient 생성자에 전달

다음 코드 예시 앞의 단계를 수행하는 방법을 보여줍니다.

var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("localhost", 27017),
ConnectTimeout = TimeSpan.FromMilliseconds(60000),
UseTls = true
};
var client = new MongoClient(settings);

다음 예시 와 같이 MongoClientSettings.FromConnectionString() 메서드를 호출하고 연결 문자열 전달하여 연결 문자열 에서 MongoClientSettings 객체 만들 수도 있습니다. 이는 연결 문자열 이미 있지만 일부 설정을 프로그래밍 방식으로 수정하려는 경우 또는 연결 문자열 에서 사용할 수 없는 설정을 지정해야 하는 경우에 유용합니다.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var settings = MongoClientSettings.FromConnectionString(connectionUri);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

또는 다음 예시 와 같이 MongoClientSettings.FromUrl() 메서드를 호출하고 MongoUrl 객체 전달하여 MongoUrl 객체 에서 MongoClientSettings 객체 만들 수 있습니다. 이 기능은 이미 MongoUrl 객체 있지만 MongoUrl 클래스에서 사용할 수 없는 설정을 지정하려는 경우에 유용합니다.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var url = new MongoUrl(connectionUri);
var settings = MongoClientSettings.FromUrl(url);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

MongoUrlBuilder 객체 사용하여 MongoUrl 객체 에 대한 연결 설정을 만들고 구성할 수 있습니다. MongoUrl 는 강력한 형식의 연결 URI 표현이며, 다른 소스에서 직접 연결 URI를 읽을 때 유용합니다. MongoUrl 객체 사용하면 두 클래스에 서로 다른 속성과 메서드가 포함되어 있지만 MongoClientSettings 객체 사용하는 것과 동일한 이점이 많이 있습니다.

MongoUrlBuilder 객체 사용하려면 클래스의 인스턴스 만들고 필요한 구성 속성을 설정하다 . MongoUrlBuilder에서 MongoUrl 객체 생성하려면 MongoUrlBuilder.ToMongoUrl() 메서드를 호출합니다. MongoUrl 객체 MongoClient 생성자에 전달할 수 있습니다. 다음 코드 예시 이 프로세스 보여줍니다.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var builder = new MongoUrlBuilder(connectionUri)
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};
var url = builder.ToMongoUrl();
var client = new MongoClient(url);

다음 섹션에서는 .NET/ C# 드라이버 에서 사용할 수 있는 연결 옵션과 MongoClientSettings 또는 MongoUrlBuilder 객체 사용하여 연결 옵션을 지정하는 방법을 설명합니다.

모든 작업을 호스팅하다 로 강제 디스패치할지 여부를 지정합니다. 이 옵션을 지정하면 운전자 DNS 시드 목록 연결 형식을 허용하지 않습니다. 대신 표준 연결 URI 형식을 사용해야 합니다. 기본값 은 false 입니다.

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

var settings = new MongoClientSettings
{
DirectConnection = true,
};

연결할 복제본 세트 의 이름입니다. 기본값 은 null입니다.

var settings = new MongoClientSettings
{
ReplicaSetName = "yourReplicaSet",
};

모든 작업을 호스팅하다 로 강제 디스패치할지 여부를 지정합니다. 이 옵션을 지정하면 운전자 DNS 시드 목록 연결 형식을 허용하지 않습니다. 대신 표준 연결 URI 형식을 사용해야 합니다. 기본값 은 false 입니다.

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

var builder = new MongoUrlBuilder
{
DirectConnection = true,
};

연결할 복제본 세트 의 이름입니다. 기본값 은 null입니다.

var builder = new MongoUrlBuilder
{
ReplicaSetName = "yourReplicaSet",
};

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

이 속성 true 로 설정하다 있고 SslSettings.CheckCertificateRevocationfalse로 설정하다 있으면 .NET/ C# 드라이버 예외가 발생합니다.

다음 코드 예시 이 옵션을 true로 설정하다 방법을 보여줍니다.

var settings = new MongoClientSettings
{
AllowInsecureTls = true,
};

클라이언트 인증서, 해지 처리, TLS/SSL 프로토콜 활성화 및 비활성화를 포함한 TLS/SSL 옵션. 기본값 은 null입니다.

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

var settings = new MongoClientSettings();
settings.SslSettings = new SslSettings()
{
CheckCertificateRevocation = false,
ClientCertificateSelectionCallback = new LocalCertificateSelectionCallback() { ... },
ClientCertificates = new List<X509Certificate>() { ... },
EnabledSslProtocols = SslProtocols.Tls13,
ServerCertificateValidationCallback = new RemoteCertificateValidationCallback() { ... }
};

서버 연결에 TLS를 요구할지 여부를 지정합니다. "mongodb+srv" 체계를 사용하거나 다른 TLS 옵션을 지정하는 경우 이 옵션의 기본값은 true입니다. 그렇지 않으면 기본값은 false입니다.

var settings = new MongoClientSettings
{
UseTls = true,
};

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

이 속성 true 로 설정하다 있고 SslSettings.CheckCertificateRevocationfalse로 설정하다 있으면 .NET/ C# 드라이버 예외가 발생합니다.

다음 코드 예시 이 옵션을 true로 설정하다 방법을 보여줍니다.

var builder = new MongoUrlBuilder
{
AllowInsecureTls = true,
};

TLS 핸드셰이크 중 인증서 해지 확인을 비활성화할지 여부입니다. 기본값 은 false입니다.

var builder = new MongoUrlBuilder
{
TlsDisableCertificateRevocationCheck = true
};

서버 연결에 TLS를 요구할지 여부를 지정합니다. "mongodb+srv" 체계를 사용하거나 다른 TLS 옵션을 지정하는 경우 이 옵션의 기본값은 true입니다. 그렇지 않으면 기본값은 false입니다.

var builder = new MongoUrlBuilder
{
UseTls = true,
};

운전자 시간이 초과되기 전에 서버 에 대한 단일 TCP 소켓 연결을 설정하려고 시도하는 시간입니다. 기본값 은 30 초입니다.

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

운전자 시간이 초과되기 전에 소켓에서 전송 또는 수신을 시도하는 시간입니다. 기본값 은 운영 체제에서 설정하다 .

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

운전자 시간이 초과되기 전에 서버 에 대한 단일 TCP 소켓 연결을 설정하려고 시도하는 시간입니다. 기본값 은 30 초입니다.

var builder = new MongoUrlBuilder
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

운전자 시간이 초과되기 전에 소켓에서 전송 또는 수신을 시도하는 시간입니다. 기본값 은 운영 체제에서 설정하다 .

var builder = new MongoUrlBuilder
{
SocketTimeout = TimeSpan.FromSeconds(60),
};

서버 와 주고받는 유선 프로토콜 메시지에 대한 기본 압축 유형(순서대로)입니다. 운전자 서버 지원하는 이러한 압축 유형 중 첫 번째를 사용합니다. 기본값 은 null입니다.

var settings = new MongoClientSettings
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

서버 와 주고받는 유선 프로토콜 메시지에 대한 기본 압축 유형(순서대로)입니다. 운전자 서버 지원하는 이러한 압축 유형 중 첫 번째를 사용합니다. 기본값 은 null입니다.

var builder = new MongoUrlBuilder
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

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

var settings = new MongoClientSettings
{
MaxConnecting = 3,
};

운전자 연결을 닫기 전에 연결이 유휴 상태일 수 있는 시간입니다. 기본값 은 10 분입니다.

var settings = new MongoClientSettings
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

연결이 만료되기 전에 풀링될 수 있는 시간입니다. 기본값 은 30 분입니다.

var settings = new MongoClientSettings
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

운전자 연결 풀 에서 만들 수 있는 최대 클라이언트 또는 연결 수입니다. 이 수에는 사용 중인 연결이 포함됩니다. 기본값 은 100입니다.

var settings = new MongoClientSettings
{
MaxConnectionPoolSize = 150,
};

작업이 발생하지 않는 경우에도 운전자 연결 풀 에서 생성하고 유지하는 연결의 수입니다. 이 수에는 사용 중인 연결이 포함됩니다. 기본값 은 0입니다.

var settings = new MongoClientSettings
{
MinConnectionPoolSize = 3,
};

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

var settings = new MongoClientSettings
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

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

var builder = new MongoUrlBuilder
{
MaxConnecting = 3,
};

운전자 연결을 닫기 전에 연결이 유휴 상태일 수 있는 시간입니다. 기본값 은 10 분입니다.

var builder = new MongoUrlBuilder
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

연결이 만료되기 전에 풀링될 수 있는 시간입니다. 기본값 은 30 분입니다.

var builder = new MongoUrlBuilder
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

운전자 연결 풀 에서 만들 수 있는 최대 클라이언트 또는 연결 수입니다. 이 수에는 사용 중인 연결이 포함됩니다. 기본값 은 100입니다.

var builder = new MongoUrlBuilder
{
MaxConnectionPoolSize = 150,
};

작업이 발생하지 않는 경우에도 운전자 연결 풀 에서 생성하고 유지하는 연결의 수입니다. 이 수에는 사용 중인 연결이 포함됩니다. 기본값 은 0입니다.

var builder = new MongoUrlBuilder
{
MinConnectionPoolSize = 3,
};

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

var builder = new MongoUrlBuilder
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

클라이언트 에 대한 쓰기 (write) 제한 시간 및 저널링을 포함한 기본값 쓰기 고려 설정입니다. 기본값 은 입니다.WriteConcern.Acknowledged 자세한 내용은 MongoDB Server 매뉴얼의 쓰기 고려를 참조하세요.

var settings = new MongoClientSettings();
settings.WriteConcern = MongoDB.Driver.WriteConcern.Acknowledged;
settings.WriteConcern = new WriteConcern(
w: 1,
wTimeout: new TimeSpan(0, 0, 0, 30, 0),
fsync: true,
journal: true
);

쓰기 고려 (write concern) 의 FSync 구성 요소입니다. 기본값 은 입니다.false fsync 명령에 대해 자세히 학습 MongoDB Server 매뉴얼에서 fsync 참조하세요.

var builder = new MongoUrlBuilder
{
FSync = true
};

j 쓰기 고려 (write concern) 의 구성 writeConcernMajorityJournalDefault 요소로, MongoDB 인스턴스가 디스크 저널 에 기록했다는 확인을 요청합니다. 기본값 은 설정의 값에 따라 달라집니다.j 옵션에 대해 자세히 학습 MongoDB Server 매뉴얼에서 쓰기 고려를 참조하세요.

var builder = new MongoUrlBuilder
{
Journal = true
};

쓰기 고려 (write concern) 의 구성 요소로, 쓰기 (write) 작업이 지정된 수의 MongoDB 인스턴스로 전파되었음을 확인 요청합니다. 기본값 은 w "majority" 1중재자 및 투표 노드 수에 따라 또는 입니다.w 옵션에 대해 자세히 학습 MongoDB Server 매뉴얼에서 쓰기 고려를 참조하세요.

var builder = new MongoUrlBuilder
{
W = 2
};

쓰기 고려 (write concern) 의 구성 요소로, 쓰기 고려 (write concern) 대한 시간 제한을 지정합니다.wtimeout wtimeout 옵션에 대해 자세히 학습 MongoDB Server 매뉴얼의 쓰기 고려를 참조하세요.

var builder = new MongoUrlBuilder
{
WTimeout = TimeSpan.FromSeconds(5)
};

클라이언트의 읽기 고려 (read concern). 기본값 은 입니다.ReadConcern.Default 자세한 내용은 MongoDB Server 매뉴얼의 읽기 고려를 참조하세요.

var settings = new MongoClientSettings
{
ReadConcern = MongoDB.Driver.ReadConcern.Local,
};

클라이언트의 읽기 고려 (read concern) 수준입니다. 기본값 은 ReadConcern.Local 입니다. 자세한 내용은 읽기 고려 (read concern) 참조하세요.

var builder = new MongoUrlBuilder
{
ReadConcernLevel = MongoDB.Driver.ReadConcernLevel.Local,
};

MaxStaleness 클라이언트의 기본값 읽기 설정입니다. 세컨더리 경험할 수 있고 여전히 서버 선택 대상이 될 수 있는 벽시계 시간으로 가장 긴 복제 지연 나타냅니다. 기본값 은 ReadPreference.Primary 입니다. 를 지정하면 -1 최대값이 없습니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 설정을 참조하세요.

var settings = new MongoClientSettings
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

MaxStaleness 클라이언트의 기본값 읽기 설정입니다. 세컨더리 경험할 수 있고 여전히 서버 선택 대상이 될 수 있는 벽시계 시간으로 가장 긴 복제 지연 나타냅니다. 기본값 은 ReadPreference.Primary 입니다. 를 지정하면 -1 최대값이 없습니다. 자세한 내용은 MongoDB Server 매뉴얼의 읽기 설정을 참조하세요.

var builder = new MongoUrlBuilder
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

운전자 서버 에 인증하는 방법에 대한 설정입니다. 여기에는 인증 자격 증명, 메커니즘, 소스 및 기타 설정이 포함됩니다. 기본값 은 null입니다.

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

var settings = new MongoClientSettings
{
Credential = MongoCredential.CreatePlainCredential(
databaseName: "admin",
username: "user",
password: "password"
)
};

운전자 MongoDB Server 에 인증하는 데 사용하는 메커니즘입니다. 인증 메커니즘 지정하지 않으면 운전자 서버 버전에 따라 SCRAM-SHA-1 또는 를 SCRAM-SHA-256 사용합니다. 사용 가능한 인증 메커니즘은 인증 메커니즘을 참조하세요.

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

AuthenticationMechanism 속성 에 지정된 인증 메커니즘 에 대한 구성 설정입니다.

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

클라이언트 를 인증할 소스입니다.

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

인증 에 사용할 비밀번호입니다.

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

인증 에 사용할 사용자 이름 .

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

정기적인 서버 모니터링 검사 사이의 간격입니다. 500 밀리초 이상이어야 합니다. 기본값 은 10000 밀리초(10 초)입니다.

var settings = new MongoClientSettings
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

모니터링 소켓이 시간 초과되기 전에 유휴 상태일 수 있는 시간입니다. 기본값 은 ConnectTimeout 속성 의 값입니다.

var settings = new MongoClientSettings
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

서버 자격에 대한 지연 시간 창 . 서버의 왕복 시간이 가장 빠른 서버의 왕복 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버 선택할 수 없습니다. 기본값 은 15 밀리초입니다.

var settings = new MongoClientSettings
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

서버 자격에 대한 지연 시간 창 . 서버의 왕복 시간이 가장 빠른 서버의 왕복 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버 선택할 수 없습니다. 기본값 은 15 밀리초입니다.

var settings = new MongoClientSettings
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

정기적인 서버 모니터링 검사 사이의 간격입니다. 500 밀리초 이상이어야 합니다. 기본값 은 10000 밀리초(10 초)입니다.

var builder = new MongoUrlBuilder
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

모니터링 소켓이 시간 초과되기 전에 유휴 상태일 수 있는 시간입니다. 기본값 은 ConnectTimeout 속성 의 값입니다.

var builder = new MongoUrlBuilder
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

서버 자격에 대한 지연 시간 창 . 서버의 왕복 시간이 가장 빠른 서버의 왕복 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버 선택할 수 없습니다. 기본값 은 15 밀리초입니다.

var builder = new MongoUrlBuilder
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

서버 자격에 대한 지연 시간 창 . 서버의 왕복 시간이 가장 빠른 서버의 왕복 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버 선택할 수 없습니다. 기본값 은 15 밀리초입니다.

var builder = new MongoUrlBuilder
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

문자열 역직렬화에 사용할 UTF-8 인코딩입니다. 기본값 은 엄격한 인코딩으로, 유효하지 않은 UTF-8 바이트 시퀀스가 발생하면 운전자 예외를 발생시킵니다.

var settings = new MongoClientSettings
{
ReadEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

문자열 직렬화에 사용할 UTF-8 인코딩입니다. 기본값 은 엄격한 인코딩으로, 유효하지 않은 UTF-8 바이트 시퀀스가 발생하면 운전자 예외를 발생시킵니다.

var settings = new MongoClientSettings
{
WriteEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

참고

MongoClientSettings 전용

ReadEncodingWriteEncoding 속성은 MongoClientSettings 클래스에서만 사용할 수 있습니다.

Stable API 버전 관리를 선택할 수 있습니다. 기본값 은 입니다.null Stable API 버전 관리에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Stable API 참조하세요.

var settings = new MongoClientSettings
{
ServerApi = new ServerApi(
ServerApiVersion.V1,
strict: true,
deprecationErrors: true),
};

참고

MongoClientSettings 전용

ServerApi 속성 MongoClientSettings 클래스에서만 사용할 수 있습니다.

재시도 가능 읽기를 활성화합니다. 기본값 은 true입니다.

var settings = new MongoClientSettings
{
RetryReads = false,
};

재시도 가능 쓰기를 활성화합니다. 기본값 은 true입니다.

var settings = new MongoClientSettings
{
RetryWrites = false,
};

재시도 가능 읽기를 활성화합니다. 기본값 은 true입니다.

var builder = new MongoUrlBuilder
{
RetryReads = false,
};

재시도 가능 쓰기를 활성화합니다. 기본값 은 true입니다.

var builder = new MongoUrlBuilder
{
RetryWrites = false,
};

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

var settings = new MongoClientSettings
{
ApplicationName = "yourAppName",
};

자동 클라이언트 사이드 암호화 위한 설정입니다. 기본값 은 null 입니다. 클라이언트 사이드 암호화 에 대해 자세히 학습 사용 중 암호화 참조하세요.

var settings = new MongoClientSettings
{
AutoEncryptionOptions = new AutoEncryptionOptions(
keyVaultNamespace: new CollectionNamespace(
databaseName: "keyvault",
collectionName: "datakeys"),
kmsProviders: new Dictionary<string, IReadOnlyDictionary<string, object>> ()
{
{ "local", new Dictionary<string, object> () { { "key", "<base64-encoded-key>" } } }
}
),
};

소켓, TLS, 클러스터 등에 대한 낮은 수준의 구성 옵션입니다. 기본값 은 null입니다.

var settings = new MongoClientSettings
{
ClusterConfigurator = builder =>
{
builder
.Subscribe<ClusterOpenedEvent>(e =>
{
Console.WriteLine($"Cluster opened: Cluster ID = {e.ClusterId}");
})
.Subscribe<ClusterDescriptionChangedEvent>(e =>
{
Console.WriteLine($"Cluster description changed: {e.NewDescription}");
});
}
};

호스팅하다 주소 IPv6 형식인지 여부를 지정합니다. 기본값 은 false입니다.

var settings = new MongoClientSettings
{
IPv6 = true,
};

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

var settings = new MongoClientSettings();
if (!settings.IsFrozen)
{
settings.RetryReads = false;
}

동결 설정

Freeze() 메서드를 호출하여 MongoClientSettings 객체 의 설정을 동결할 수 있습니다. 이렇게 하면 설정을 더 이상 변경할 수 없습니다.

또는 FrozenCopy() 메서드를 호출하여 MongoClientSettings 현재 설정을 동결한 상태로 새 객체 만들 수 있습니다.

.NET/ C# 드라이버 기반으로 하는 사용자 지정 라이브러리의 이름과 버전입니다. 운전자 이 정보를 서버 로 보냅니다.

var settings = new MongoClientSettings
{
LibraryInfo = new LibraryInfo("customLibraryName", "1.0.0")
};

운전자 로드 밸런서 에 연결 중인지 여부를 지정합니다. 다음 조건이 모두 충족되는 경우에만 이 속성 true 로 설정하다 수 있습니다.

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

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

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

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

기본값은 false입니다.

var settings = new MongoClientSettings
{
LoadBalanced = true,
};

로깅에 사용되는 설정입니다. 기본값 은 null 입니다.

var settings = new MongoClientSettings
{
LoggingSettings = new LoggingSettings(
LoggerFactory.Create(l =>
l.SetMinimumLevel(LogLevel.Debug)))
};

표준 연결 문자열 형식()을 사용할지 아니면MongoDB DNS 시드 목록 형식()을 사용할지MongoDBPlusSrv 지정합니다. 이 속성 에 사용할 수 있는 값은 ConnectionStringScheme 열거형 에 정의되어 있습니다. 기본값 은 입니다.ConnectionStringScheme.MongoDB 연결 문자열 형식에 대한 자세한 내용은 MongoDB Server 매뉴얼의 연결 문자열을 참조하세요.

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

var settings = new MongoClientSettings
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

MongoDB 실행 호스팅하다 및 포트 번호입니다. 기본값 은 localhost:27017입니다.

var settings = new MongoClientSettings
{
Server = new MongoServerAddress("localhost", 27017)
};

사용할 서버 모니터링 프로토콜 지정합니다. 이 속성 에 사용할 수 있는 값은 ServerMonitoringMode 열거형 에 정의되어 있습니다. 기본값 은 Auto 입니다.

이 옵션을 Auto 로 설정하다 하면 운전자 실행 중인 환경에 따라 모니터링 모드 결정됩니다. 운전자 AWS Lambda 와 같은 FaaS(서비스로서의 기능) 환경에서 폴링 모드 사용하고 다른 환경에서는 스트리밍 모드 사용합니다.

var settings = new MongoClientSettings
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

MongoDB 실행 클러스터 멤버입니다. 기본값 은 localhost:27017입니다.

var settings = new MongoClientSettings
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

시드 목록을 처음 채울 때 또는 SRV 폴링 중에 토폴로지 에 새 호스트를 추가할 때 무작위로 선택할 수 있는 SRV 결과의 최대 개수입니다. 기본값 은 0입니다.

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

var settings = new MongoClientSettings
{
SrvMaxHosts = 5
};

운전자 시드 목록을 구성하기 위해 검색하는 SRV 리소스 레코드의 서비스 이름입니다. 운전자 서비스 이름을 사용하여 다음 형식과 일치하는 SRV URI를 생성합니다.

_{srvServiceName}._tcp.{hostname}.{domainname}

이 속성 검색 및 폴링 시 SRV 조회에 대한 기본값 서비스 이름을 재정의합니다. 기본값 은 "mongodb"입니다.

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

var settings = new MongoClientSettings
{
SrvServiceName = "yourServiceName"
};

LINQ 쿼리를 쿼리 API 로 변환하기 위한 옵션(예: MongoDB Server 버전)을 지정합니다. 기본값 은 null입니다.

var settings = new MongoClientSettings
{
TranslationOptions = new ExpressionTranslationOptions()
{
CompatibilityLevel = ServerVersion.Server80,
EnableClientSideProjections = true
}
};

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

var builder = new MongoUrlBuilder
{
ApplicationName = "yourAppName",
};

클라이언트 연결하는 데이터베이스 의 이름입니다.

var builder = new MongoUrlBuilder
{
DatabaseName = "test_database"
};

호스팅하다 주소 IPv6 형식인지 여부를 지정합니다. 기본값 은 false입니다.

var builder = new MongoUrlBuilder
{
IPv6 = true,
};

운전자 로드 밸런서 에 연결 중인지 여부를 지정합니다. 다음 조건이 모두 충족되는 경우에만 이 속성 true 로 설정하다 수 있습니다.

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

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

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

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

기본값은 false입니다.

var builder = new MongoUrlBuilder
{
LoadBalanced = true,
};

표준 연결 문자열 형식()을 사용할지 아니면MongoDB DNS 시드 목록 형식()을 사용할지MongoDBPlusSrv 지정합니다. 이 속성 에 사용할 수 있는 값은 ConnectionStringScheme 열거형 에 정의되어 있습니다. 기본값 은 입니다.ConnectionStringScheme.MongoDB 연결 문자열 형식에 대한 자세한 내용은 MongoDB Server 매뉴얼의 연결 문자열을 참조하세요.

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

var builder = new MongoUrlBuilder
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

MongoDB 실행 호스팅하다 및 포트 번호입니다. 기본값 은 localhost:27017입니다.

var builder = new MongoUrlBuilder
{
Server = new MongoServerAddress("localhost", 27017)
};

사용할 서버 모니터링 프로토콜 지정합니다. 이 속성 에 사용할 수 있는 값은 ServerMonitoringMode 열거형 에 정의되어 있습니다. 기본값 은 Auto 입니다.

이 옵션을 Auto 로 설정하다 하면 운전자 실행 중인 환경에 따라 모니터링 모드 결정됩니다. 운전자 AWS Lambda 와 같은 FaaS(서비스로서의 기능) 환경에서 폴링 모드 사용하고 다른 환경에서는 스트리밍 모드 사용합니다.

var builder = new MongoUrlBuilder
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

MongoDB 실행 클러스터 멤버입니다. 기본값 은 localhost:27017입니다.

var builder = new MongoUrlBuilder
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

시드 목록을 처음 채울 때 또는 SRV 폴링 중에 토폴로지 에 새 호스트를 추가할 때 무작위로 선택할 수 있는 SRV 결과의 최대 개수입니다. 기본값 은 0입니다.

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

var builder = new MongoUrlBuilder
{
SrvMaxHosts = 5
};

운전자 시드 목록을 구성하기 위해 검색하는 SRV 리소스 레코드의 서비스 이름입니다. 운전자 서비스 이름을 사용하여 다음 형식과 일치하는 SRV URI를 생성합니다.

_{srvServiceName}._tcp.{hostname}.{domainname}

이 속성 검색 및 폴링 시 SRV 조회에 대한 기본값 서비스 이름을 재정의합니다. 기본값 은 "mongodb"입니다.

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

var builder = new MongoUrlBuilder
{
SrvServiceName = "yourServiceName"
};

이 페이지에 사용된 유형에 대한 자세한 내용은 다음 API 문서를 참조하세요.

돌아가기

연결 대상 선택

이 페이지의 내용