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

문서 찾기

이 가이드 에서는 MongoDB Java Reactive Streams 드라이버 사용하여 문서를 찾는 방법을 학습 수 있습니다.

이 가이드 의 예제에서는 Atlas 샘플 데이터 세트sample_restaurants.restaurants 컬렉션 을 사용합니다. 무료 MongoDB Atlas cluster 를 생성하고 샘플 데이터 세트를 로드하는 방법을 학습 보려면 시작하기를 참조하세요.

중요

프로젝트 리액터 라이브러리

이 가이드 에서는 Project Reactor 라이브러리를 사용하여 Java Reactive Streams 운전자 메서드에서 반환된 Publisher 인스턴스를 사용합니다. 프로젝트 Reactor 라이브러리와 사용 방법에 대해 자세히 학습 Reactor 문서에서 시작하기 참조하세요. 이 가이드에서 Project Reactor 라이브러리 메서드를 사용하는 방법에 대해 자세히 학습하려면 MongoDB에 데이터 쓰기 가이드를 참조하세요.

Java Reactive Streams 운전자 에는 컬렉션 에서 문서를 검색하는 한 가지 메서드인 find() 가 포함되어 있습니다.

이 메서드는 쿼리 필터하다 를 사용하여 하나 이상의 일치하는 문서를 반환합니다. 쿼리 필터하다 는 쿼리 에서 조회 하려는 문서를 지정하는 객체 입니다.

쿼리 필터에 학습 보려면 쿼리 지정 가이드 를 참조하세요.

컬렉션 에서 단일 문서 를 찾으려면 first() 메서드를 find() 메서드 호출에 연결하고 찾으려는 문서 의 기준을 지정하는 find() 메서드 호출에 쿼리 필터하다 를 전달합니다. 쿼리 필터하다 와 일치하는 문서 가 두 개 이상인 경우 find().first() 구문은 조회된 결과에서 첫 번째 로 일치하는 문서 를 반환합니다. 쿼리 필터하다 와 일치하는 문서가 없으면 구문은 None 를 반환합니다.

find().first() 구문은 일치하는 문서 가 하나만 있거나 첫 번째 일치 항목에만 관심이 있는 경우에 유용합니다.

다음 예시 에서는 find().first() 구문을 사용하여 "cuisine" 필드 에 "Bakery" 값이 있는 첫 번째 문서 를 찾습니다.

Publisher<Document> findDocPublisher = restaurants.find(
eq("cuisine", "Bakery")).first();
Mono.from(findDocPublisher)
.doOnNext(System.out::println)
.blockLast();

정렬 순서

정렬 순서를 지정하지 않으면 find().first() 구문은 디스크의 첫 번째 문서 를 기본 순서 반환합니다.

정렬에 학습 보려면 반환할 문서 지정 가이드 를 참조하세요.

컬렉션에서 여러 문서를 찾으려면 검색하려는 문서의 기준을 지정하는 find() 메서드에 쿼리 필터를 전달합니다.

다음 예제에서는 find() 메서드를 사용하여 "cuisine" 필드에 "Spanish" 값이 있는 모든 문서를 찾습니다.

FindPublisher<Document> findDocPublisher = restaurants.find(
eq("cuisine", "Spanish"));
Flux.from(findDocPublisher)
.doOnNext(System.out::println)
.blockLast();

참고

모든 문서 찾기

컬렉션 의 모든 문서를 찾으려면 find() 메서드에 매개변수를 전달하지 않습니다.

Publisher<Document> findAllPublisher = restaurants.find();
Flux.from(findAllPublisher)
.doOnNext(System.out::println)
.blockLast();

다른 메서드를 연결하여 find() 메서드의 동작을 수정할 수 있습니다. 다음 표에서는 일반적으로 사용되는 메서드에 대해 설명합니다.

Argument
설명

batchSize(int batchSize)

쿼리 결과로 반환되는 각 배치 내 최대 문서 수입니다. 기본값 으로 운전자 이 값을 Long.MAX_VALUE로 설정합니다.

0batchSize 은 커서 설정되지만 첫 번째 배치 에서는 문서가 반환되지 않음을 의미합니다.

collation(Collation collation)

데이터 정렬 옵션을 Collation 클래스의 인스턴스 로 설정합니다.

comment(String comment)

쿼리 에 문자열을 첨부합니다. 이렇게 하면 서버 로그와 프로필 데이터에서 작업을 추적하고 해석하는 데 도움이 될 수 있습니다. 쿼리 주석에 대해 자세히 학습 MongoDB Server 매뉴얼의 커서 .comment() 페이지를 참조하세요.

hint(Bson hint)

문서를 스캔할 인덱스를 가져오거나 설정합니다. 자세한 내용은 MongoDB Server 매뉴얼의 힌트 설명 을 참조하세요.

다음 예시 find() 메서드를 사용하여 "cuisine" 필드 에 "Italian" 값이 있고 주석을 설정하는 모든 문서를 찾습니다.

FindPublisher<Document> findDocPublisher = restaurants.find(
eq("cuisine", "Italian")).comment("Find operation");
Flux.from(findDocPublisher)
.doOnNext(System.out::println)
.blockLast();

사용 가능한 인수의 전체 목록은 인터페이스에 대한 API 설명서를 FindPublisher 참조하세요.

쿼리 필터에 학습 보려면 쿼리 지정 가이드 를 참조하세요.

Java Reactive Streams 운전자 사용하여 문서를 검색하는 실행 가능한 코드 예제는 문서 쿼리 가이드 참조하세요.

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.