연결 대상 선택
개요
이 가이드 에서는 연결 string 과 MongoClient
객체 를 사용하여 다양한 유형의 MongoDB deployment에 연결하는 방법을 학습 수 있습니다.
Atlas
MongoDB 에서 deployment에 Atlas 연결하려면 연결 에 다음 요소를 string 포함하세요.
Atlas cluster 의 URL
MongoDB 사용자 이름
MongoDB 비밀번호
그런 다음 연결 string 을 MongoClient
생성자에 전달합니다.
팁
Atlas 드라이버 연결 가이드 에 따라 연결 string 을 검색합니다.
Atlas 에 연결할 때 Stable API 클라이언트 옵션을 사용하여 Atlas 를 새 버전의 MongoDB Server 로 업그레이드할 때 호환성이 손상되는 변경을 방지하는 것이 좋습니다. Stable API 기능 에 학습 보려면 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)
참고
MongoClient
생성자는 비블로킹 입니다. 복제본 세트에 연결하면 클라이언트가 백그라운드 스레드를 사용하여 복제본 세트에 연결하는 동안 생성자가 즉시 반환됩니다.
MongoClient
를 구성하고 해당 nodes
속성의 string 표현을 즉시 출력하는 경우, 클라이언트가 복제본 세트 멤버에 연결하는 동안 목록이 비어 있을 수 있습니다.