Docs Menu
Docs Home
/ / /
Kotlin Sync 드라이버

빌더 코드 패턴 사용

이 페이지의 내용

  • 개요
  • 빌더를 사용하는 이유는 무엇입니까?
  • 예시
  • MongoDB Query API
  • 문서 클래스 필터
  • 빌더

이 페이지에서는 코드에서 사용 가능한 다양한 빌더 를 사용하는 방법과 제공된 빌더 를 사용할 때의 이점에 대해 설명합니다.

코틀린 동기 (Kotlin Sync) 운전자 는 개발자가 쿼리 및 애그리게이션을 효율적으로 빌드 활성화 형식 안전 빌더 클래스와 메서드를 제공합니다.

일반 코틀린 (Kotlin) 만 사용하여 BSON 쿼리 문서를 구성하는 경우 런타임까지 구문 오류를 식별할 수 없습니다. 빌더 는 구문의 정확성을 보장하는 데 도움이 되며 BSON 문서를 구성하는 것보다 덜 장황할 수 있습니다.

이 섹션에서는 users 컬렉션 에서 다음 기준을 충족하는 문서의 email 필드 값을 가져오는 세 가지 동등한 방법을 제공합니다.

  • gender 값은 다음과 같습니다. "female"

  • age 값이 다음보다 큼 29

다음 데이터 클래스는 users 컬렉션 의 문서를 모델링합니다.

data class User(
@BsonId val id: ObjectId,
val gender: String,
val age: Int,
val email: String
)

다음 데이터 클래스는 쿼리 에서 반환된 결과를 모델링합니다.

data class Email(
val email: String
)

다음 샘플 은 MongoDB 쿼리 API 를 사용하여 쿼리 를 수행합니다.

collection.find(
{ "gender": "female", "age" : { "$gt": 29 }},
{ "_id": 0, "email": 1 }
)

다음 예시 에서는 Document 클래스를 사용하여 쿼리 필터하다 를 구성하여 쿼리 를 수행합니다.

val filter = Document("gender", "female").append("age", Document("\$gt", 29))
val projection = Document("_id", 0).append("email", 1)
val results = collection.find<Email>(filter).projection(projection)

다음 예시 에서는 빌더 헬퍼를 사용하여 쿼리 를 수행합니다.

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<Email>(filter).projection(projection)

돌아가기

시계열 데이터