Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Kotlin Sync 드라이버
/

연결 대상 선택

이 가이드 에서는 연결 string 과 MongoClient 객체 를 사용하여 다양한 유형의 MongoDB deployment에 연결하는 방법을 학습 수 있습니다.

MongoDB 에서 deployment에 Atlas 연결하려면 연결 에 다음 요소를 string 포함하세요.

  • Atlas cluster 의 URL

  • MongoDB database 사용자 이름

  • MongoDB database 비밀번호

그런 다음 연결 string 을 MongoClient 생성자에 전달합니다.

Atlas 드라이버 연결 가이드 에 따라 연결 string 을 검색합니다.

Atlas 에 연결할 때 Stable API 클라이언트 옵션을 사용하여 Atlas 새 버전의 MongoDB Server 로 업그레이드할 때 호환성이 손상되는 변경을 방지할 것을 권장합니다. Stable API 기능에 대해 자세히 학습하려면 Connect With Stable API 가이드를 참조하세요.

다음 코드는 코틀린 동기 (Kotlin Sync) 운전자 를 사용하여 Atlas cluster 에 연결하는 방법을 보여줍니다. 또한 이 코드는 serverApi() 메서드를 사용하여 Stable API 버전을 지정합니다.

// Defines Stable API version
val serverApi = ServerApi.builder()
.version(ServerApiVersion.V1)
.build()
// Uses MongoClientSettings to apply connection string and specify the Stable API version
val settings = MongoClientSettings.builder()
.applyConnectionString("<connection string URI>")
.serverApi(serverApi)
.build()
val mongoClient = MongoClient.create(settings)

로컬 MongoDB deployment에 연결하려면 localhost 을 호스트 이름으로 사용합니다. 기본적으로 mongod 프로세스는 포트 27017 에서 실행되지만, 배포서버에 맞게 사용자 지정할 수 있습니다.

다음 코드는 코틀린 동기 (Kotlin Sync) 운전자 를 사용하여 로컬 MongoDB deployment 에 연결하는 방법을 보여줍니다.

val settings = MongoClientSettings.builder()
.applyConnectionString("mongodb://localhost:27017")
.build()
val mongoClient = MongoClient.create(settings)

복제본 세트 세트 멤버의 호스트 이름(또는 IP 주소)과 포트 번호를 지정합니다.

복제본 세트 에 있는 호스트의 전체 목록을 제공할 수 없는 경우, 복제본 복제본 세트 에 있는 호스트 중 하나 이상을 지정하고 다른 호스트를 찾기 위해 자동 검색을 수행하도록 코틀린 동기 (Kotlin Sync) 운전자 에 지시할 수 있습니다. 운전자 에 자동 검색을 수행하도록 지시하려면 다음 작업 중 하나를 수행합니다.

  • 복제본 세트의 이름을 replicaSet 매개변수의 값으로 지정합니다.

  • directConnection 매개 변수의 값으로 false를 지정합니다.

  • 복제본 세트에 둘 이상의 호스트를 지정합니다.

다음 예제에서는 ConnectionString 또는 MongoClientSettings 클래스를 사용하여 세 개의 서로 다른 호스트의 27017 포트 실행 MongoDB 복제본 세트 에 연결하는 방법을 보여줍니다. 원하는 수업에 해당하는 탭 을 선택합니다.

val mongoClient = MongoClient.create("mongodb://host1:27017,host2:27017,host3:27017/")
val hosts = listOf(
ServerAddress("host1", 27017),
ServerAddress("host2", 27017),
ServerAddress("host3", 27017)
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder ->
builder.hosts(hosts)
}
.build()
val mongoClient = MongoClient.create(settings)

참고

복제본 세트 Docker 에서 실행되면 MongoDB 엔드포인트를 하나만 노출할 수 있습니다. 이 경우 복제본 세트 검색할 수 없습니다. 연결 URI에 directConnection=false 을(를) 지정하거나 이 옵션을 설정하지 않은 상태로 두면 애플리케이션 연결 URI에 연결되지 않을 수 있습니다.

테스트 또는 개발 환경에서 directConnection=true를 지정하여 복제본 세트에 연결할 수 있습니다. 프로덕션 환경에서는 Docker 가상 네트워크 외부에서 각 MongoDB 인스턴스에 액세스할 수 있도록 클러스터를 구성하는 것이 좋습니다.

DNS 서비스 검색을 사용하여 연결하려는 서비스의 DNS SRV 기록 조회하려면 연결 문자열 에 SRV 연결 형식을 지정합니다. 이 형식을 지정하면 코틀린 동기 (Kotlin Sync) 운전자 새 호스트를 자동으로 다시 검색합니다. 배포서버 클라이언트 구성을 변경하지 않고도 토폴로지 에 호스트를 추가할 수 있습니다.

다음 코드는 SRV 연결 형식을 사용하는 연결 문자열 보여줍니다.

val uri = "mongodb+srv://<hostname>/"

SRV 연결 형식에 대해 자세히 학습 MongoDB Server 매뉴얼의 SRV 연결 형식 항목을 참조하세요.

돌아가기

MongoClient 만들기

이 페이지의 내용