Docs Menu
Docs Home
/ / /
Kotlin Sync 드라이버
/

연결 옵션 지정

이 페이지의 내용

  • 개요
  • 연결 URI에서 옵션 설정
  • MongoClientSettings에서 옵션 설정
  • 연결 옵션
  • 네트워크 압축
  • 시간 초과
  • 서버 선택
  • 인증
  • 읽기 및 쓰기 작업
  • 추가 정보
  • API 문서

이 섹션에서는 코틀린 동기 (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 인스턴스 내에서 이를 설정하다 하는 운전자 메서드(사용 가능한 경우)를 보여줍니다.

연결 옵션
설명
압축기
The preferred compression types, in order, for wire-protocol messages sent to or received from the server. The driver uses the first of these compression types that the server supports.

Data Type: comma-delimited string
MongoClientSettings: compressorList(listOf(<MongoCompressor>))
Connection URI: compressors=snappy,zstd,zlib
zlibCompressionLevel
The compression level for zlib to use. This option accepts an integer value between -1 and 9, corresponding to the following settings:

- -1: (Default). zlib uses its default compression level (usually 6).
- 0: No compression.
- 1: Fastest speed but lowest compression.
- 9: Best compression but slowest speed.

Data Type: integer
Default: -1
MongoClientSettings: compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, 3)))
Connection URI: zlibCompressionLevel=3
연결 옵션
설명
connectTimeoutMS
The time in milliseconds to attempt a connection before timing out.

Data Type: integer
Default: 10000
MongoClientSettings:
applyToSocketSettings{ builder ->
builder.connectTimeout(10, TimeUnit.SECONDS)
}
Connection URI: timeoutMs=10000
socketTimeoutMS
The time in milliseconds to attempt a send or receive on a connection before the attempt times out.

Data Type: integer
Default: no timeout
MongoClientSettings:
applyToSocketSettings{ builder ->
builder.readTimeout(5, TimeUnit.SECONDS)
}
Connection URI: socketTimeoutMS=5000
연결 옵션
설명
serverSelectionTimeoutMS
The maximum amount of time, in milliseconds, the driver waits for server selection to succeed before throwing an exception.

Data Type: integer
Default: 30000
MongoClientSettings:
applyToClusterSettings{ builder ->
builder.serverSelectionTimeout(30, TimeUnit.SECONDS)
}
Connection URI: serverSelectionTimeoutMS=30000
연결 옵션
설명
authMechanism
The mechanism that the Kotlin Sync driver uses to authenticate the application.

Data Type: string
Default: "SCRAM-SHA-256" when connecting to MongoDB v4.0 or later
MongoClientSettings:
credential(
MongoCredential.createScramSha256Credential(...)
)
Connection URI: authMechanism=SCRAM-SHA-256
authMechanismProperties
Options specific to the authentication mechanism. This option isn't needed for all authentication mechanisms.

Data Type: string
Connection URI: authMechanismProperties=AWS_SESSION_TOKEN:12435
authSource
The database to authenticate against.

Data Type: string
Default: "admin"
Connection URI: authSource=admin
사용자 이름
The username for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: string
Connection URI: username=my+user
비밀번호
The password for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: string
Connection URI: password=strong+password

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

연결 옵션
설명
복제본 세트
Specifies the name of the replica set to connect to.

Data Type: string
Connection URI: replicaSet=myRS
directConnection
Whether to connect only to the primary member of the replica set.

Data Type: boolean
Default: false
MongoClientSettings:
applyToClusterSettings{ builder ->
builder.mode(ClusterConnectionMode.SINGLE)
}
Connection URI: directConnection=true
읽기 설정
Specifies the client's read preference. For more information, see Read Preference in the Server manual.

Data Type: string
Default: primary
MongoClientSettings: readPreference(ReadPreference.primary())
Connection URI: readPreference=primary
readConcern
Specifies the client's read concern. For more information, see Read Concern in the Server manual.

Data Type: string
MongoClientSettings: readConcern(ReadConcern.MAJORITY)
Connection URI: readConcern=majority
쓰기 고려
Specifies the client's write concern. For more information, see Write Concern in the Server manual.

Data Type: string
MongoClientSettings: writeConcern(WriteConcern.MAJORITY)
Connection URI: writeConcern=majority
localThresholdMS
The latency window for a replica-set member's eligibility. If a member's round trip ping takes longer than the fastest server's round-trip ping time plus this value, the server isn't eligible for selection.

Data Type: integer
Default: 15
MongoClientSettings:
applyToClusterSettings{ builder ->
builder.localThreshold(35, TimeUnit.MILLISECONDS)
}
Connection URI: localThresholdMS=35

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

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

돌아가기

연결 대상 선택