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

연결 옵션 지정

이 페이지에서는 스칼라 운전자 에서 사용할 수 있는 MongoDB 연결 및 인증 옵션과 MongoDB 연결에 이를 지정하는 방법을 설명합니다.

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

val uri = "mongodb://localhost:27017/?connectTimeoutMS=60000&tls=true"
val mongoClient = MongoClient(uri)

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

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

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

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.hosts(List(new ServerAddress("localhost", 27017)).asJava))
.applyToSocketSettings(builder =>
builder.connectTimeout(60000, TimeUnit.MILLISECONDS))
.applyToSslSettings(builder => builder.enabled(true))
.build()
val mongoClient = MongoClient(settings)

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

val uri = "mongodb://localhost:27017/"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.applyToSocketSettings(builder =>
builder.connectTimeout(60000, TimeUnit.MILLISECONDS))
.applyToSslSettings(builder => builder.enabled(true))
.build()
val mongoClient = MongoClient(settings)

서버에 전송되거나 서버에서 수신되는 유선 프로토콜 메시지에 대한 선호 압축 유형(순서 대로). 선택 사항 빌드 시간 종속성으로 "snappy", "zlib", "zstd"를 활성화할 수 있습니다. 드라이버는 서버가 지원하는 이러한 압축 유형 중 첫 번째 것을 사용합니다.

데이터 유형: 쉼표로 구분된 string

기본값: null

예시:

val uri = "mongodb://localhost:27017/?compressors=snappy,zstd,zlib"
val mongoClient = MongoClient(uri)

zlib 에서 사용할 압축 수준입니다. 이 옵션은 -1에서 9 사이의 정수 값을 사용할 수 있습니다.

  • -1: (기본값). zlib 는 기본값 압축 수준(일반적으로 6)을 사용합니다.

  • 0: 압축하지 않습니다.

  • 1: 속도가 가장 빠르지만 압축률은 가장 낮습니다.

  • 9: 압축률은 가장 높지만 속도가 가장 느립니다.

데이터 유형: integer

기본값: -1

예시:

val uri = "mongodb://localhost:27017/?compressors=zlib&zlibCompressionLevel=3"
val mongoClient = MongoClient(uri)

서버에 전송되거나 서버에서 수신되는 유선 프로토콜 메시지에 대한 선호 압축 유형(순서 대로). 선택 사항 빌드 시간 종속성으로 "snappy", "zlib", "zstd"를 활성화할 수 있습니다. 드라이버는 서버가 지원하는 이러한 압축 유형 중 첫 번째 것을 사용합니다.

데이터 유형: List[MongoCompressor]

기본값: 빈 목록

예시:

val settings = MongoClientSettings.builder()
.compressorList(List(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZstdCompressor(),
MongoCompressor.createZlibCompressor()
).asJava)
.build()
val mongoClient = MongoClient(settings)

zlib 에서 사용할 압축 수준입니다. 이 옵션은 -1에서 9 사이의 정수 값을 사용할 수 있습니다.

  • -1: (기본값). zlib 는 기본값 압축 수준(일반적으로 6)을 사용합니다.

  • 0: 압축하지 않습니다.

  • 1: 속도가 가장 빠르지만 압축률은 가장 낮습니다.

  • 9: 압축률은 가장 높지만 속도가 가장 느립니다.

데이터 유형: integer

기본값: -1

예시:

val settings = MongoClientSettings.builder()
.compressorList(List(
MongoCompressor.createZlibCompressor()
.withProperty(MongoCompressor.LEVEL, 3)
).asJava)
.build()
val mongoClient = MongoClient(settings)

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

데이터 유형: integer

기본값: 10000

예시:

val uri = "mongodb://localhost:27017/?connectTimeoutMS=10000"
val mongoClient = MongoClient(uri)

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

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

데이터 유형: integer

기본값: 시간 초과 없음

예시:

val uri = "mongodb://localhost:27017/?socketTimeoutMS=5000"
val mongoClient = MongoClient(uri)

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

데이터 유형: integer

기본값: 10000

예시:

val settings = MongoClientSettings.builder()
.applyToSocketSettings(builder =>
builder.connectTimeout(10, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

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

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

데이터 유형: integer

기본값: 시간 초과 없음

예시:

val settings = MongoClientSettings.builder()
.applyToSocketSettings(builder =>
builder.readTimeout(5, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

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

데이터 유형: integer

기본값: 30000

예시:

val uri = "mongodb://localhost:27017/?serverSelectionTimeoutMS=30000"
val mongoClient = MongoClient(uri)

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

데이터 유형: integer

기본값: 30000

예시:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.serverSelectionTimeout(30, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

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

드라이버가 MongoDB Server에 대해 인증하는 메커니즘입니다. 인증 메커니즘을 지정하지 않으면 드라이버는 서버 버전에 따라 SCRAM-SHA-1 또는 SCRAM-SHA-256를 사용합니다.

데이터 유형: string

기본값: "SCRAM-SHA-256" MongoDB v4.0 이상에 연결할 때

예시:

val uri = "mongodb://<username>:<password>@localhost:27017/?authMechanism=SCRAM-SHA-256"
val mongoClient = MongoClient(uri)

인증 메커니즘 과 관련된 옵션입니다. 모든 인증 메커니즘에 필요한 것은 아닙니다.

데이터 유형: string

예시:

val uri = "mongodb://localhost:27017/?authMechanismProperties=AWS_SESSION_TOKEN:12435"
val mongoClient = MongoClient(uri)

인증할 데이터베이스입니다.

데이터 유형: string

기본값: "admin"

예시:

val uri = "mongodb://<username>:<password>@localhost:27017/?authSource=admin"
val mongoClient = MongoClient(uri)

인증 위한 사용자 이름 . 이 옵션이 연결 URI에 포함된 경우에는 백분율로 인코딩해야 합니다.

데이터 유형: string

예시:

val uri = "mongodb://myUser:<password>@localhost:27017/"
val mongoClient = MongoClient(uri)

인증 위한 비밀번호입니다. 이 옵션이 연결 URI에 포함된 경우에는 백분율로 인코딩해야 합니다.

데이터 유형: string

예시:

val uri = "mongodb://<username>:myPassword@localhost:27017/"
val mongoClient = MongoClient(uri)

드라이버가 MongoDB Server에 대해 인증하는 메커니즘입니다. 인증 메커니즘을 지정하지 않으면 드라이버는 서버 버전에 따라 SCRAM-SHA-1 또는 SCRAM-SHA-256를 사용합니다.

데이터 유형: string

기본값: "SCRAM-SHA-256" MongoDB v4.0 이상에 연결할 때

예시:

val settings = MongoClientSettings.builder()
.credential(MongoCredential.createScramSha256Credential(
"<username>", "<authSource>", "<password>".toCharArray))
.build()
val mongoClient = MongoClient(settings)

참고

에서 사용자 이름, 비밀번호, 인증 소스 및 메커니즘별 속성을 구성하려면 적절한 MongoClientSettings MongoCredential 팩토리 메서드를 사용합니다. 자세한 학습 은 인증 메커니즘 가이드 참조하세요.

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

데이터 유형: string

예시:

val uri = "mongodb://localhost:27017/?replicaSet=myRS"
val mongoClient = MongoClient(uri)

모든 작업을 호스트에 강제로 디스패치할지 여부를 지정합니다. 이 옵션을 지정하면 드라이버는 SRV 연결 형식을 허용하지 않습니다. 대신 표준 연결 URI 형식을 사용해야 합니다. SRV 연결 및 표준 연결 형식에 대해 자세히 학습하려면 MongoDB Server 매뉴얼의 연결 문자열 가이드를 참조하세요.

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

데이터 유형: boolean

기본값: false

예시:

val uri = "mongodb://localhost:27017/?directConnection=true"
val mongoClient = MongoClient(uri)

클라이언트의 기본 읽기 설정 (read preference)입니다. 자세한 내용은 MongoDB Server 수동의 읽기 설정 (read preference)을 참조하세요.

데이터 유형: string

기본값: primary

예시:

val uri = "mongodb://localhost:27017/?readPreference=primary"
val mongoClient = MongoClient(uri)

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

데이터 유형: string

예시:

val uri = "mongodb://localhost:27017/?readConcern=majority"
val mongoClient = MongoClient(uri)

클라이언트의 쓰기 고려 (write concern). 자세한 내용은 MongoDB Server 매뉴얼의 쓰기 고려를 참조하세요.

데이터 유형: string

예시:

val uri = "mongodb://localhost:27017/?writeConcern=majority"
val mongoClient = MongoClient(uri)

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

데이터 유형: integer

기본값: 15

예시:

val uri = "mongodb://localhost:27017/?localThresholdMS=35"
val mongoClient = MongoClient(uri)

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

데이터 유형: string

예시:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.requiredReplicaSetName("myRS"))
.build()
val mongoClient = MongoClient(settings)

모든 작업을 호스트에 강제로 디스패치할지 여부를 지정합니다. 이 옵션을 지정하면 드라이버는 SRV 연결 형식을 허용하지 않습니다. 대신 표준 연결 URI 형식을 사용해야 합니다. SRV 연결 및 표준 연결 형식에 대해 자세히 학습하려면 MongoDB Server 매뉴얼의 연결 문자열 가이드를 참조하세요.

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

데이터 유형: boolean

기본값: false

예시:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.mode(ClusterConnectionMode.SINGLE))
.build()
val mongoClient = MongoClient(settings)

클라이언트의 기본 읽기 설정 (read preference)입니다. 자세한 내용은 MongoDB Server 수동의 읽기 설정 (read preference)을 참조하세요.

데이터 유형: string

기본값: primary

예시:

val settings = MongoClientSettings.builder()
.readPreference(ReadPreference.primary())
.build()
val mongoClient = MongoClient(settings)

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

데이터 유형: string

예시:

val settings = MongoClientSettings.builder()
.readConcern(ReadConcern.MAJORITY)
.build()
val mongoClient = MongoClient(settings)

클라이언트의 쓰기 고려 (write concern). 자세한 내용은 MongoDB Server 매뉴얼의 쓰기 고려를 참조하세요.

데이터 유형: string

예시:

val settings = MongoClientSettings.builder()
.writeConcern(WriteConcern.MAJORITY)
.build()
val mongoClient = MongoClient(settings)

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

데이터 유형: integer

기본값: 15

예시:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.localThreshold(35, TimeUnit.MILLISECONDS))
.build()
val mongoClient = MongoClient(settings)

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

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