문서 홈 → 애플리케이션 개발 → MongoDB 드라이버 → Java 동기화
빌더
개요
이 섹션에는 사용 가능한 각 빌더를 사용하는 방법에 대한 가이드가 포함되어 있으며 MongoDB Java 드라이버 빌더 클래스가 제공하는 유틸리티를 보여줍니다.
Java 드라이버는 개발자가 CRUD 작업과 애그리게이션 API를 사용할 수 있도록 프로세스를 간소화하는 클래스를 제공합니다. 정적 유틸리티 메서드를 사용하면 쿼리를 보다 효율적으로 작성할 수 있습니다.
빌더를 사용하는 이유
빌더 클래스를 사용하면 다음과 같은 기능을 활용할 수 있습니다.
개발 중 오류를 찾기 위한 Java 컴파일러와 IDE
검색 및 코드 완성을 위한 IDE
빌더를 사용할 때 Java 컴파일러와 IDE는 철자가 잘못된 연산자와 같은 오류를 조기에 포착합니다. MongoDB Shell 또는 일반 Java를 사용하는 경우 연산자를 문자열로 작성하고 문제에 대한 시각적 징후를 볼 수 없으므로 이러한 오류를 컴파일 시간이 아닌 런타임으로 푸시합니다.
빌더 클래스를 사용하면 연산자를 메서드로 작성할 수 있습니다. IDE는 즉시 밑줄을 긋고 오른쪽에 문제가 있음을 나타내는 빨간색 막대를 표시합니다. 개발하는 동안 IDE는 사용할 수 있는 메서드도 표시합니다. 사용할 메서드를 선택하면 자리 표시자 매개 변수를 사용하여 코드를 자동으로 완성합니다.
시나리오
다음 기준을 사용하여 users
collection의 모든 사용자에게 마케팅 이메일을 보내려고 한다고 가정해 보겠습니다.
'여성' 성별로 식별하는 사용자
'29'보다 오래된 사용자
우리는 이메일 주소만 필요하므로 대역폭 비용은 지불하지만 필요하지 않은 데이터는 쿼리에서 반환되지 않도록 해야 합니다.
MongoDB Shell 사용
collection.find({ "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 })
빌더를 사용하지 않고
Bson filter = new Document().append("gender", "female").append("age", new Document().append("$gt", 29)); Bson projection = new Document().append("_id", 0).append("email", 1); collection.find(filter).projection(projection);
빌더 사용
import static com.mongodb.client.model.Filters.*; import static com.mongodb.client.model.Projections.*; ... Bson filter = and(eq("gender", "female"), gt("age", 29)); Bson projection = fields(excludeId(), include("email")); collection.find(filter).projection(projection);