MongoDB에서 데이터 읽기
개요
이 페이지에서는 코틀린 동기 (Kotlin Sync) 운전자 를 사용하여 문서를 조회 하는 데 사용할 수 있는 일반적인 방법을 보여주는 복사 가능한 코드 예제를 확인할 수 있습니다.
팁
이 페이지에 표시된 메서드에 학습 보려면 각 섹션에 제공된 관련 가이드 링크를 참조하세요.
이 페이지의 예제를 사용하려면 코드 예제를 샘플 애플리케이션 또는 자체 애플리케이션에 복사합니다. 코드 예제의 모든 자리 표시자(예: <connection string URI>
)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
Maven 또는 Gradle 프로젝트 에 코틀린 동기 (Kotlin Sync) 운전자 가 설치되어 있는지 확인합니다.
다음 코드를 복사하여 새
.kt
파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
1 import com.mongodb.ConnectionString 2 import com.mongodb.MongoClientSettings 3 import com.mongodb.client.model.* 4 import com.mongodb.kotlin.client.* 5 import org.bson.Document 6 7 fun main() { 8 val uri = "<connection string URI>" 9 10 val settings = MongoClientSettings.builder() 11 .applyConnectionString(ConnectionString(uri)) 12 .retryWrites(true) 13 .build() 14 15 // Create a new client and connect to the server 16 val mongoClient = MongoClient.create(settings) 17 val database = mongoClient.getDatabase("<database name>") 18 val collection = database.getCollection<Document>("<collection name>") 19 20 // Start example code here 21 22 // End example code here 23 }
팁
코틀린 동기 (Kotlin Sync) 운전자 를 설치하는 방법에 대한 지침은 다운로드 및 설치를 참조하세요.
문서 찾기
다음 예시 에서는 지정된 필터하다 에 지정된 기준과 일치하는 문서 목록을 조회합니다.
val filter = <filter> val results = collection.find(filter) results.forEach { result -> print(result) }
find()
메서드에 학습 보려면 문서 찾기 가이드 를 참조하세요.
컬렉션의 문서 수 계산
다음 예시 에서는 지정된 컬렉션 의 문서 수를 반환합니다.
val count = collection.countDocuments() print(count)
countDocuments()
메서드에 학습 보려면 문서 계수 가이드 의 정확한 계수 조회 섹션을 참조하세요.
쿼리에서 반환된 문서 수 계산
다음 예시 에서는 지정된 필터하다 에 지정된 기준과 일치하는 문서 수를 반환합니다.
val filter = <filter> val queryCount = collection.countDocuments(filter) print(queryCount)
countDocuments()
메서드에 학습 보려면 문서 계수 가이드 의 정확한 계수 조회 섹션을 참조하세요.
예상 문서 수
다음 예시 에서는 컬렉션 메타데이터 를 기반으로 지정된 컬렉션 의 대략적인 문서 수를 반환합니다.
val estimatedCount = collection.estimatedDocumentCount() print(estimatedCount)
estimatedDocumentCount()
메서드에 학습 보려면 문서 수 가이드 의 예상 개수 조회 섹션을 참조하세요.
Retrieve Distinct Values
다음 예시 에서는 지정된 컬렉션 에 지정된 필드 이름의 모든 고유 값을 반환합니다.
val distinctResults = collection.distinct("<field name>") distinctResults.forEach { result -> print(result) }
distinct()
메서드에 대해 자세히 알아보려면 고유 필드 값 조회 가이드를 참조하세요.
데이터 변경 사항 모니터링
다음 예시 에서는 지정된 컬렉션 에 대한 변경 스트림 을 생성하고 해당 컬렉션 의 후속 변경 이벤트를 출력합니다.
val changeStream = collection.watch() changeStream.forEach { changeEvent -> print(changeEvent) }
watch()
메서드에 학습 보려면 데이터 변경 모니터링 가이드 를 참조하세요.