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 shell이나 일반 Java를 사용하는 경우 연산자를 문자열로 작성하게 되어 시각적으로 문제를 확인할 수 없으며, 이로 인해 해당 오류가 컴파일 타임이 아닌 런타임에 발생하게 됩니다.

빌더 클래스를 사용하면 연산자를 메서드로 쓰기 (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();
  • 집계 파이프라인 구축을 위한 집계

  • 쿼리 필터를 빌드하기 위한 필터

  • 인덱스 키를 생성하기 위한 인덱스

  • 프로젝션 빌드를 위한 프로젝션

  • 정렬 기준을 구축하기 위한 정렬

  • 업데이트 구축을 위한 업데이트