빌더
개요
이 섹션에는 사용 가능한 각 빌더 사용하는 방법에 대한 가이드가 포함되어 있으며 코틀린 (Kotlin) 운전자 빌더 클래스가 제공하는 유틸리티를 보여줍니다.
코틀린 (Kotlin) 운전자 CRUD 작업을 수행하고 애그리게이션 API 사용하는 프로세스 간소화하는 클래스를 제공합니다. 정적 유틸리티 메서드를 사용하면 쿼리 및 기타 종류의 문서를 보다 효율적으로 빌드 수 있습니다.
빌더를 사용하는 이유는 무엇입니까?
빌더 클래스를 사용하면 다음 제품을 활용할 수 있습니다.
개발 중 오류를 찾는 코틀린 (Kotlin) 컴파일러
검색, 디버깅 및 코드 완성을 위한 IDE
빌더 사용할 때 코틀린 (Kotlin) 컴파일러와 IDE는 철자가 잘못된 연산자 또는 매개변수 누락과 같은 오류를 조기에 포착합니다. 대신 MongoDB 셸 이나 일반 코틀린 (Kotlin) 사용하는 경우 연산자를 문자열로 쓰기 (write) 하고 문제에 대한 시각적 표시를 얻을 수 없으므로 이러한 오류는 컴파일 시간이 아닌 런타임으로 진행됩니다.
빌더 클래스를 사용하면 연산자를 메서드로 쓰기 (write) IDE에서 코드에 오류가 있는지 여부를 즉시 표시할 수 있습니다. 개발하는 동안 IDE는 사용할 수 있는 메서드를 표시하고 자리 표시자 매개 변수를 사용하여 코드를 완성할 수도 있습니다.
시나리오 예시
다음 기준을 충족하는 users
컬렉션 의 모든 사용자에게 마케팅 이메일 보내려고 한다고 가정해 보겠습니다.
gender
필드 값이"female"
인 사용자age
필드 의 값이29
보다 큰 사용자
또한 이메일 주소만 반환하는 쿼리 도 필요합니다.
users
컬렉션 의 문서는 다음 데이터 클래스에 의해 모델링됩니다.
data class User( val id: BsonObjectId = BsonObjectId(), val gender: String, val age: Int, val email: String, )
MongoDB Shell 사용
다음 코드는 MongoDB Shell 에서 쿼리 수행하는 데 사용하는 명령을 제공합니다.
collection.find({ "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 })
빌더를 사용하지 않고
다음 코드는 코틀린 (Kotlin) 운전자 에서 빌더 없이 생성하는 찾기 작업을 제공합니다.
data class Results(val email: String) val filter = Document().append("gender", "female").append("age", Document().append("\$gt", 29)) val projection = Document().append("_id", 0).append("email", 1) val results = collection.find<Results>(filter).projection(projection)
이 경우 필터하다 에 "\$gt"
연산자 작성할 때 오류를 쉽게 포함할 수 있지만 IDE는 런타임에만 관련 오류를 반환합니다.
빌더 사용
다음 코드는 코틀린 (Kotlin) 운전자 에서 빌더 사용하여 생성하는 찾기 작업을 제공합니다.
import com.mongodb.client.model.Filters import com.mongodb.client.model.Projections
data class Results(val email: String) val filter = Filters.and(Filters.eq(User::gender.name, "female"), Filters.gt(User::age.name, 29)) val projection = Projections.fields(Projections.excludeId(), Projections.include("email")) val results = collection.find<Results>(filter).projection(projection)
사용 가능한 빌더
집계 파이프라인 구축을 위한 애그리게이트
메서드를 사용하여 Atlas Vector
Aggregates.vectorSearch()
Search 기능 사용하는 Atlas Vector Search
쿼리 필터를 빌드하기 위한 필터입니다.
인덱스 키를 생성하기 위한 인덱스입니다.
빌딩 프로젝션을 위한 프로젝션입니다.
정렬 기준을 구축하기 위한 정렬.
업데이트 구축에 대한 업데이트입니다.
데이터 클래스와 함께 빌더 사용 가이드 앞의 빌더 클래스를 데이터 클래스 속성과 함께 직접 사용하는 방법에 대한 예제를 제공합니다. 이 가이드 애플리케이션 더 유형 안전하게 만들고 코틀린 (Kotlin) 상호 운용성을 개선하는 데 도움이 될 수 있습니다.