AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

연결 옵션 지정

이 페이지에서는 Scala 드라이버에서 사용할 수 있는 MongoDB 연결 및 인증 옵션을 설명하고 MongoDB 연결에 이를 지정하는 방법을 설명합니다.

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

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 매뉴얼의 읽기 고려 (read concern)를 참조하세요.

데이터 유형: string

예시:

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

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

데이터 유형: 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 매뉴얼의 읽기 고려 (read concern)를 참조하세요.

데이터 유형: string

예시:

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

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

데이터 유형: 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 설명서를 참조하세요.

이 페이지 평가하기