Docs Menu
Docs Home
/ / /
Scala
/

연결 대상 선택

이 페이지의 내용

  • 개요
  • Atlas
  • 로컬 배포
  • 복제본 세트
  • API 문서

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

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

  • Atlas cluster 의 URL

  • MongoDB 사용자 이름

  • MongoDB 비밀번호

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

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

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

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

object MongoClientConnectToAtlas {
def main(args: Array[String]): Unit = {
// Replace the placeholder with your Atlas connection string
val connectionString = "<connection string>";
// Constructs a ServerApi instance using the ServerApi.builder() method
val serverApi = ServerApi.builder.version(ServerApiVersion.V1).build()
val settings = MongoClientSettings
.builder()
.applyConnectionString(ConnectionString(connectionString))
.serverApi(serverApi)
.build()
// Creates a new client and connects to the server
Using(MongoClient(settings)) { mongoClient =>
// Sends a ping to confirm a successful connection
val database = mongoClient.getDatabase("admin")
val ping = database.runCommand(Document("ping" -> 1)).head()
Await.result(ping, 10.seconds)
System.out.println("Pinged your deployment. You successfully connected to MongoDB!")
}
}
}

다음과 같은 방법으로 로컬 MongoDB deployment에 연결할 수 있습니다.

  • 매개 변수 없이 MongoClient 객체 인스턴스화하여 포트 27017localhost 에서 실행 MongoDB 서버 에 연결합니다.

    val mongoClient = MongoClient()
  • 포트 27017 의 지정된 호스트에서 실행 중인 MongoDB 인스턴스에 연결하려면 hostname 를 명시적으로 지정합니다.

    val mongoClient = MongoClient("mongodb://host1")
  • hostnameport 을 명시적으로 지정합니다.

    val mongoClient = MongoClient("mongodb://host1:27017")

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

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

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

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

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

ConnectionString에 멤버를 지정하여 MongoDB 복제본 세트 에 연결할 수 있습니다. 다음 예시 복제본 세트 의 세 멤버를 지정하는 방법을 보여줍니다.

val mongoClient = MongoClient("mongodb://host1:27017,host2:27017,host3:27017")

다음 예에서는 복제본 세트 이름과 함께 복제본 세트의 멤버와 replicaSet 옵션을 지정하는 방법을 보여 줍니다.

val mongoClient = MongoClient("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myReplicaSet")

다음 예시 에서는 모든 복제본 세트 멤버에 해당하는 ServerAddress 인스턴스 목록을 지정하는 방법을 보여줍니다.

val mongoClient = MongoClient(
MongoClientSettings.builder()
.applyToClusterSettings((builder: ClusterSettings.Builder) => builder.hosts(List(
new ServerAddress("host1", 27017),
new ServerAddress("host2", 27017),
new ServerAddress("host3", 27017)).asJava))
.build())

참고

MongoClient 생성자는 비블로킹 입니다. 복제본 세트에 연결하면 클라이언트가 백그라운드 스레드를 사용하여 복제본 세트에 연결하는 동안 생성자가 즉시 반환됩니다.

MongoClient 를 구성하고 해당 nodes 속성의 string 표현을 즉시 출력하는 경우, 클라이언트가 복제본 세트 멤버에 연결하는 동안 목록이 비어 있을 수 있습니다.

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.

돌아가기

Stable API