AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

빌더

이 섹션에는 사용 가능한 각 빌더 사용하는 방법에 대한 가이드가 포함되어 있으며 Java Reactive Streams 운전자 빌더 클래스가 제공하는 유틸리티를 보여줍니다.

Java Reactive Streams 운전자 CRUD 작업 및 애그리게이션 API 위한 빌더 클래스가 포함되어 있습니다. 정적 유틸리티 메서드를 사용하면 쿼리 및 기타 문서를 보다 효율적으로 빌드 수 있습니다.

빌더 클래스를 사용하면 다음 기능을 활용할 수 있습니다.

  • 개발 중 오류를 찾는 Java 컴파일러

  • 검색 및 코드 완성을 위한 IDE

빌더 클래스를 활성화 Java 컴파일러와 IDE에서 철자가 잘못된 연산자 또는 매개변수 누락과 같은 오류를 조기에 포착할 수 있습니다. 대신 MongoDB 셸 이나 일반 Java 사용하는 경우 연산자를 문자열로 쓰기 (write) 하고 문제에 대한 시각적 표시를 얻을 수 없으므로 이러한 오류는 컴파일 시간이 아닌 런타임으로 진행됩니다.

빌더 클래스를 사용하면 연산자를 메서드로 쓰기 (write) IDE에서 코드에 오류가 있는지 여부를 즉시 표시할 수 있습니다. 개발하는 동안 IDE는 사용할 수 있는 메서드를 표시하고 자리 표시자 매개 변수를 사용하여 코드를 완성할 수도 있습니다.

users 컬렉션 에서 다음 기준을 충족하는 모든 사용자에게 마케팅 이메일 보내려고 한다고 가정해 보겠습니다.

  • gender 필드 값이 "female"인 사용자

  • age 필드 의 값이 29보다 큰 사용자

또한 이메일 주소만 반환하는 쿼리 도 필요합니다.

users 컬렉션 의 문서는 다음 클래스에 의해 모델링됩니다.

record User(
@BsonId ObjectId id,
String gender,
int age,
String email
)

다음 코드는 MongoDB Shell 에서 쿼리 수행하는 데 사용하는 명령을 제공합니다.

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

다음 코드는 Java Reactive Streams 운전자 에서 빌더 없이 생성하는 찾기 작업을 제공합니다.

Bson filter = new Document().append("gender", "female").append("age", new Document().append("$gt", 29));
Bson projection = new Document().append("_id", 0).append("email", 1);
Flux.from(collection.find(filter).projection(projection))
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();

이 경우 필터하다 에 "\$gt" 연산자 작성할 때 오류를 쉽게 포함할 수 있지만 IDE는 런타임에만 관련 오류를 반환합니다.

다음 코드는 Java Reactive Streams 운전자 에서 빌더 사용하여 생성하는 찾기 작업을 제공합니다.

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"));
Flux.from(collection.find(filter).projection(projection))
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();