스칼라 드라이버 시작하기
개요
MongoDB 스칼라 드라이버 는 Java Reactive Streams 운전자 기반으로 구축된 비동기 API 로, 이를 사용하여 MongoDB 에 연결하고 배포서버 에 저장된 데이터와 상호 작용 . 이 가이드 스칼라 운전자 사용하여 MongoDB Atlas 에서 호스팅되는 MongoDB cluster 에 연결하고 클러스터 의 데이터를 쿼리 애플리케이션 만드는 방법을 설명합니다.
팁
MongoDB Atlas는 관리형 클라우드 데이터베이스 서비스로, MongoDB deployment를 호스팅합니다. 이 가이드의 단계에 따라 자체 무료(신용카드 필요 없음) MongoDB Atlas 배포서버를 생성할 수 있습니다.
이 가이드 에 따라 샘플 스칼라 애플리케이션 MongoDB Atlas 배포서버 서버에 연결하세요. 다른 운전자 또는 프로그래밍 언어 사용하여 MongoDB 에 연결하려는 경우 공식 드라이버 목록을 참조하세요.
다운로드 및 설치
이 단계를 완료하면 운전자 종속성이 설치된 새 프로젝트 디렉토리 생성됩니다.
MongoDB Deployment 생성
MongoDB Atlas에 프리 티어 MongoDB 배포를 생성하여 데이터를 저장하고 관리할 수 있습니다. MongoDB Atlas는 클라우드에서 MongoDB database를 호스팅하고 관리합니다.
Atlas에서 무료 MongoDB 배포서버 생성
Atlas 시작하기 가이드를 완료하여 새 Atlas 계정을 설정하고 새로운 프리 계층 MongoDB 배포서버에 샘플 데이터를 로드하세요.
이 단계를 완료하면 Atlas에 새로운 프리 티어 MongoDB 배포서버, 데이터베이스 사용자 자격 증명 및 샘플 데이터가 데이터베이스에 로드됩니다.
연결 문자열 만들기
연결 문자열이라고도 하는 연결 URI을 제공하여 MongoDB 배포서버에 연결할 수 있으며, 이 연결 문자열은 드라이버에 MongoDB 배포서버로 연결하는 방법과 연결된 동안 동작하는 방법을 지시합니다.
연결 문자열에는 배포서버의 호스트 이름 또는 IP 주소와 포트, 인증 메커니즘, 해당되는 경우 사용자 자격 증명, 연결 옵션 등이 포함됩니다.
Atlas 에서 호스팅되지 않는 인스턴스 또는 배포서버 에 연결하는 방법을 학습 연결 대상 선택 가이드 참조하세요.
MongoDB Atlas 연결 문자열 찾기
이전 단계에서 만든 배포서버에 대한 연결 문자열 조회 하려면 Atlas 계정에 로그인 Database 섹션으로 이동한 다음 새 배포서버에 대한 Connect 버튼을 클릭합니다.

그런 다음 Connect to your application 헤더 아래에 있는 Drivers 옵션을 선택합니다. Driver 선택 메뉴에서 "스칼라"를 선택하고 Version 선택 메뉴에서 설치한 버전과 가장 일치하는 버전을 선택합니다.
이 단계를 완료하면 Atlas cluster 에 해당하는 연결 문자열 생성됩니다.
MongoDB에 연결
MongoDB Atlas 배포서버 에 대한 연결 문자열 검색한 후 스칼라 애플리케이션 에서 배포서버 에 연결하여 Atlas 샘플 데이터 세트를 쿼리 수 있습니다.
애플리케이션 파일 만들기
이 가이드의 다운로드 및 설치 단계에서 만든 scala-quickstart
디렉토리로 이동하여 src/main/scala/quickstart
중첩 디렉토리를 만듭니다.
운영 체제에 해당하는 탭 선택하고 다음 명령을 실행 quickstart
하위 디렉토리에 Main.scala
파일 만듭니다.
cd src/main/scala/quickstart touch Main.scala
cd src/main/scala/quickstart type nul > Main.scala
헬퍼 메서드 추가
Helpers.scala
운전자 소스 src/main/scala/quickstart
코드 에서 다음 파일 디렉토리 에 추가합니다.
package quickstart import java.util.concurrent.TimeUnit import scala.concurrent.Await import scala.concurrent.duration.Duration import org.mongodb.scala._ object Helpers { implicit class DocumentObservable[C](val observable: Observable[Document]) extends ImplicitObservable[Document] { override val converter: (Document) => String = (doc) => doc.toJson } implicit class GenericObservable[C](val observable: Observable[C]) extends ImplicitObservable[C] { override val converter: (C) => String = (doc) => Option(doc).map(_.toString).getOrElse("") } trait ImplicitObservable[C] { val observable: Observable[C] val converter: (C) => String def results(): Seq[C] = Await.result(observable.toFuture(), Duration(10, TimeUnit.SECONDS)) def headResult() = Await.result(observable.head(), Duration(10, TimeUnit.SECONDS)) def printResults(initial: String = ""): Unit = { if (initial.length > 0) print(initial) results().foreach(res => println(converter(res))) } def printHeadResult(initial: String = ""): Unit = println(s"${initial}${converter(headResult())}") } }
이 파일 사용하면 쿼리 결과를 인쇄하기 위한 헬퍼 메서드 액세스 할 수 있습니다.
애플리케이션 코드 추가
다음 코드를 복사하여 sample_mflix
데이터베이스 의 movies
컬렉션 을 쿼리하는 Main.scala
파일 에 붙여넣습니다.
package quickstart import org.mongodb.scala._ import org.mongodb.scala.model.Filters._ import Helpers._ object Main { def main(args: Array[String]): Unit = { val mongoClient = MongoClient("<connection string>") val database: MongoDatabase = mongoClient.getDatabase("sample_mflix") val collection: MongoCollection[Document] = database.getCollection("movies") val filter = equal("title", "The Shawshank Redemption") collection.find(filter).printResults() mongoClient.close() } }
연결 문자열 할당
<connection string>
자리 표시자를 이 가이드의 연결 문자열 만들기 단계에서 복사한 연결 문자열로 바꿉니다.
스칼라 애플리케이션 실행
프로젝트 루트 디렉토리 에서 다음 명령을 실행 sbt 셸 시작하고 애플리케이션 실행 .
sbt run
명령줄 출력에는 검색된 영화 문서에 대한 세부 정보가 포함됩니다.
{"_id": {"$oid": "..."}, ... , "genres": ["Crime", "Drama"], "rated": "R", "metacritic": 80, "title": "The Shawshank Redemption", ... }
오류가 발생하거나 출력이 표시되지 않는 경우 Main.scala
파일에 적절한 연결 문자열을 지정했는지, 그리고 샘플 데이터를 로드했는지 확인합니다.
팁
다음 명령을 실행 하여 sbt 셸 종료할 수 있습니다.
exit
이 단계를 완료하면 MongoDB deployment 에 연결하고 샘플 데이터에 대해 쿼리 실행하고 일치하는 문서 반환하는 스칼라 애플리케이션 생성됩니다.
다음 단계
빠른 시작 튜토리얼을 완료하신 것을 축하드립니다!
이 튜토리얼에서는 MongoDB Atlas 에서 호스팅되는 MongoDB deployment 에 연결하고 쿼리 와 일치하는 문서 검색하는 스칼라 애플리케이션 만들었습니다.
다음 리소스에서 스칼라 운전자 에 대해 자세히 보기 .
데이터 읽기 섹션에서 읽기 작업을 수행하는 방법을 알아보세요.
MongoDB 에 데이터 쓰기 섹션에서 쓰기 (write) 작업을 수행하는 방법을 알아보세요.
참고
이 단계에서 문제가 발생하면 MongoDB Community 포럼 에서 도움을 요청하거나 이 페이지의 오른쪽 또는 오른쪽 아래에 있는 Rate this page 탭을 사용하여 피드백을 제출하세요.