개요
이 섹션에서는 코틀린 동기 (Kotlin Sync) 운전자 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션에 대해 설명합니다. 연결 URI 또는 MongoClientSettings 인스턴스 내에서 옵션을 설정하여 연결을 구성할 수 있습니다.
연결 URI에서 옵션 설정
연결 URI를 MongoClient.create() 메서드에 전달하는 경우 string 에 연결 옵션을 <name>=<value> 쌍으로 포함할 수 있습니다. 다음 예시 에서 연결 URI에는 값이 60000 인 connectTimeoutMS 옵션과 값이 true 인 tls 옵션이 포함되어 있습니다.
val uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" val mongoClient = MongoClient.create(uri)
MongoClientSettings에서 옵션 설정
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 인스턴스 내에서 이를 설정하다 하는 운전자 메서드(사용 가능한 경우)를 보여줍니다.
네트워크 압축
연결 옵션 | 설명 |
|---|---|
압축기 | 서버에 전송되거나 서버에서 수신하는 유선 프로토콜 메시지에 대한 기본 압축 유형입니다. 드라이버는 서버가 지원하는 이러한 압축 유형 중 첫 번째 유형을 사용합니다. |
zlibCompressionLevel | 사용할 zlib 압축 수준입니다. 이 옵션은 다음 설정에 해당하는 |
시간 초과
연결 옵션 | 설명 | |||
|---|---|---|---|---|
connectTimeoutMS | 시간이 초과되기 전에 연결을 시도하는 시간(밀리초 단위)입니다. 연결 URI: | |||
socketTimeoutMS (사용 중단됨) | 이 옵션은 더 이상 사용되지 않습니다. 대신 클라이언트 연결 URI: |
서버 선택
연결 옵션 | 설명 | |||
|---|---|---|---|---|
serverSelectionTimeoutMS | 운전자가 예외를 발생시키기 전에 서버 선택이 성공할 때까지 기다리는 최대 시간(밀리초)입니다. 연결 URI: |
인증
팁
인증 옵션에 대해 자세히 학습하려면 인증 메커니즘 섹션을 참조하세요.
연결 옵션 | 설명 | |||
|---|---|---|---|---|
authMechanism | Kotlin 동기화 드라이버가 애플리케이션을 인증하는 메카니즘입니다. 연결 URI: | |||
authMechanismProperties | 인증 메커니즘에 특유한 옵션입니다. 이 옵션은 모든 인증 메커니즘에 필요하지 않습니다. | |||
authSource | 인증할 데이터베이스. | |||
사용자 이름 | 인증을 위한 사용자 이름입니다. 이 옵션이 연결 URI에 포함되면 유에서 인코딩해야 합니다. | |||
비밀번호 | 인증용 비밀번호입니다. 이 옵션이 연결 URI에 포함되면 유에서 인코딩해야 합니다. |
읽기 및 쓰기 작업
다양한 유형의 MongoDB deployment에 연결하는 방법에 학습 보려면 연결 대상 선택 가이드 를 참조하세요.
연결 옵션 | 설명 | |||
|---|---|---|---|---|
복제본 세트 | 연결할 복제본 세트의 이름을 지정합니다. | |||
directConnection | 복제본 세트의 프라이머리 노드에만 연결할 지 여부를 지정합니다. 연결 URI: | |||
읽기 설정 | 클라이언트의 읽기 설정 (read preference)을 지정합니다. 자세한 내용은 서버 매뉴얼의 읽기 설정 (read preference) 을 참조하세요. | |||
readConcern | 클라이언트의 읽기 고려 (read concern)를 지정합니다. 자세한 내용은 서버 매뉴얼의 읽기 고려 (read concern) 를 참조하세요. | |||
쓰기 고려 | 클라이언트의 쓰기 고려 (write concern)를 지정합니다. 자세한 내용은 서버 매뉴얼에서 쓰기 고려 (write concern) 를 참조하세요. | |||
localThresholdMS | 복제본 세트 노드의 자격 지연 시간 창. 노드의 왕복 핑이 가장 빠른 서버의 왕복 핑 시간에 이 값을 더한 것보다 오래 걸리는 경우 해당 서버는 선택할 수 없습니다. 연결 URI: |
추가 정보
연결 옵션의 전체 목록을 보려면 서버 매뉴얼의 연결 문자열 을 참조하세요.
API 문서
이 가이드 에 언급된 클래스 및 메서드에 학습 보려면 다음 API 설명서를 참조하세요.