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

연결 옵션 지정

이 섹션에서는 코틀린 동기 (Kotlin Sync) 운전자 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI 또는 MongoClientSettings 인스턴스 내에서 옵션을 설정하여 연결을 구성할 수 있습니다.

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

val uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"
val mongoClient = MongoClient.create(uri)

MongoClientSettings.Builder 클래스의 메서드를 사용한 다음 설정 객체 를 MongoClient.create() 메서드에 전달하여 MongoClientSettings 인스턴스 에서 연결 옵션을 설정하다 수 있습니다.

이러한 방식으로 연결을 구성하면 런타임에 설정을 더 쉽게 변경할 수 있고 컴파일 타임에 오류를 포착하는 데 도움이 될 수 있습니다.

다음 예시 에서는 MongoClientSettings 인스턴스 를 생성할 때 연결 대상을 지정하고 기타 옵션을 설정하다 하는 방법을 보여 줍니다.

val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder -> builder.hosts(listOf(ServerAddress("localhost", 27017))) }
.applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) }
.applyToSslSettings { builder -> builder.enabled(true) }
.build()
val mongoClient = MongoClient.create(settings)

호스트 이름과 포트를 지정하는 대신 연결 string 을 제공하려는 경우 applyConnectionString() 메서드를 사용한 후 다음 코드에 표시된 대로 빌더 메서드를 사용하여 다른 옵션을 설정하다 수 있습니다.

val uri = "<connection string>"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) }
.applyToSslSettings { builder -> builder.enabled(true) }
.build()
val mongoClient = MongoClient.create(settings)

다음 섹션에서는 코틀린 동기 (Kotlin Sync) 운전자 에서 사용할 수 있는 연결 옵션에 대해 설명합니다. 각 옵션은 연결 URI에서 사용할 수 있는 옵션-값 쌍과 MongoClientSettings 인스턴스 내에서 이를 설정하다 하는 운전자 메서드(사용 가능한 경우)를 보여줍니다.

연결 옵션
설명

압축기

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

데이터 유형: 쉼표로 구분된 string
MongoClientSettings: compressorList(listOf(<MongoCompressor>))
연결 URI: compressors=snappy,zstd,zlib

zlibCompressionLevel

사용할 zlib 압축 수준입니다. 이 옵션은 다음 설정에 해당하는 -1 에서 9까지의 정수 값을 허용합니다.

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

데이터 유형: 정수
기본값: -1
MongoClientSettings: compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, 3)))
연결 URI: zlibCompressionLevel=3

연결 옵션
설명

connectTimeoutMS

시간이 초과되기 전에 연결을 시도하는 시간(밀리초 단위)입니다.

데이터 유형: 정수
기본값: 10000
MongoClientSettings:

applyToSocketSettings{ builder ->
builder.connectTimeout(10, TimeUnit.SECONDS)
}

연결 URI: timeoutMs=10000

socketTimeoutMS (사용 중단됨)

이 옵션은 더 이상 사용되지 않습니다. 대신 클라이언트
수준 시간 제한을 설정하여이 시간 제한을 구성할 수 있습니다.


시도 시간이 초과되기 전에 연결에서 발신 또는 수신을 시도할 시간(단위: 밀리초)입니다.


데이터 유형: integer
기본값: no timeout
MongoClientSettings:

applyToSocketSettings{ builder ->
builder.readTimeout(5, TimeUnit.SECONDS)
}

연결 URI: socketTimeoutMS=5000

연결 옵션
설명

serverSelectionTimeoutMS

운전자가 예외를 발생시키기 전에 서버 선택이 성공할 때까지 기다리는 최대 시간(밀리초)입니다.

데이터 유형: 정수
기본값: 30000
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.serverSelectionTimeout(30, TimeUnit.SECONDS)
}

연결 URI: serverSelectionTimeoutMS=30000

인증 옵션에 대해 자세히 학습하려면 인증 메커니즘 섹션을 참조하세요.

연결 옵션
설명

authMechanism

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

데이터 유형: string
기본값: MongoDB v4.0 이상에 연결할 때 "SCRAM-SHA-256"
MongoClientSettings:

credential(
MongoCredential.createScramSha256Credential(...)
)

연결 URI: authMechanism=SCRAM-SHA-256

authMechanismProperties

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

데이터 유형: string
연결 URI: authMechanismProperties=AWS_SESSION_TOKEN:12435

authSource

인증할 데이터베이스.

데이터 유형: string
기본값: "admin"
연결 URI: authSource=admin

사용자 이름

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

데이터 유형: string
연결 URI: username=my+user

비밀번호

인증용 비밀번호입니다. 이 옵션이 연결 URI에 포함되면 유에서 인코딩해야 합니다.

데이터 유형: string
연결 URI: password=strong+password

다양한 유형의 MongoDB deployment에 연결하는 방법에 학습 보려면 연결 대상 선택 가이드 를 참조하세요.

연결 옵션
설명

복제본 세트

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

데이터 유형: string
연결 URI: replicaSet=myRS

directConnection

복제본 세트의 프라이머리 노드에만 연결할 지 여부를 지정합니다.

데이터 유형: 불리언
기본값: false
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.mode(ClusterConnectionMode.SINGLE)
}

연결 URI: directConnection=true

읽기 설정

클라이언트의 읽기 설정 (read preference)을 지정합니다. 자세한 내용은 서버 매뉴얼의 읽기 설정 (read preference) 을 참조하세요.

데이터 유형: string
기본값: primary
MongoClientSettings: readPreference(ReadPreference.primary())
연결 URI: readPreference=primary

readConcern

클라이언트의 읽기 고려 (read concern)를 지정합니다. 자세한 내용은 서버 매뉴얼의 읽기 고려 (read concern) 를 참조하세요.

데이터 유형: string
MongoClientSettings: readConcern(ReadConcern.MAJORITY)
연결 URI: readConcern=majority

쓰기 고려

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

데이터 유형: string
MongoClientSettings: writeConcern(WriteConcern.MAJORITY)
연결 URI: writeConcern=majority

localThresholdMS

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

데이터 유형: 정수
기본값: 15
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.localThreshold(35, TimeUnit.MILLISECONDS)
}

연결 URI: localThresholdMS=35

연결 옵션의 전체 목록을 보려면 서버 매뉴얼의 연결 문자열 을 참조하세요.

이 가이드 에 언급된 클래스 및 메서드에 학습 보려면 다음 API 설명서를 참조하세요.