MongoDB Search는 다양한 데이터 모델에 대한 쿼리를 최적화하는 데 도움이 되는 여러 가지 방법을 제공합니다. 다음 튜토리얼을 사용하여 MongoDB Search로 데이터를 효과적으로 쿼리 할 수 있도록 일반적인 디자인 패턴을 학습 .
전제 조건
이 튜토리얼을 완료하려면 다음 항목을 갖추고 있어야 합니다.
An Atlas cluster with MongoDB version 6.0 or later or a MongoDB self-managed cluster with MongoDB version 8.2 or later.
The sample data loaded into your cluster.
Project Data Access Admin프로젝트 에 대한 더 높은 액세스 부여하여 MongoDB Search 인덱스를 생성합니다.Search Tester,
mongosh, Compass, or a supported MongoDB Driver to run queries on your cluster.
참고
You can run MongoDB Search queries by using any driver through the $search aggregation stage. These tutorials include examples for a selection of clients. Refer to the specific tutorial page for details.
Atlas CLI 또는 온프레미스 배포서버 사용하여 생성한 로컬 배포를 사용하여 이 튜토리얼을 완료할 수도 있습니다. 자세히 학습 로컬 Atlas 배포서버 만들기 및 자체 관리형 배포를 참조하세요.
문자열 전용 연산자로 문자열이 아닌 필드 쿼리하기
queryString 및 자동 완성과 같은 특정 MongoDB Search 연산자는 문자열 필드만 지원 . 이러한 연산자를 사용하여 문자열이 아닌 필드를 쿼리 해야 하는 경우 이러한 필드의 값을 문자열로 변환하고 변환된 필드를 구체화된 뷰에 저장 수 있습니다. 구체화된 뷰를 사용하면 문자열별 연산자를 사용하여 변환된 필드를 쿼리 하고 원본 데이터를 소스 컬렉션 에 그대로 유지할 수 있습니다.
시작하려면 비알파벳 데이터를 문자열로 검색하는 방법을 참조하세요.
내장된 문서 내부의 필드 쿼리
문서 배열 배열 중첩된 경우에도 MongoDB Search를 사용하여 문서 배열 내부의 필드를 쿼리 수 있습니다. 문서 필드를 embeddedDocuments 유형으로 인덱스 후에는 다음 유형의 배열 내의 필드를 포함하여 이러한 문서 내의 필드에 대해 쿼리를 실행 수 있습니다.
문서 배열.
문서 내부의 문서 배열.
문서 배열 안에 있는 문서 배열.
시작하려면 내장된 문서의 필드에 대해 MongoDB Search 쿼리를 실행하는 방법을 참조하세요.
여러 컬렉션에서 쿼리
여러 컬렉션에 걸쳐 검색해야 하는 경우 다음 방법을 사용할 수 있습니다.
여러 컬렉션의 검색 결과를 결합하려면
$unionWith단계를 사용하세요.여러 컬렉션을 통합하여 함께 인덱스하고 검색할 수 있도록 구체화된 뷰를 만드세요.
시작하려면 여러 컬렉션에서 MongoDB 검색 쿼리를 실행하는 방법을 참조하세요.