MongoDB Search는 다양한 데이터 모델에 대한 쿼리를 최적화하는 데 도움이 되는 여러 가지 방법을 제공합니다. 다음 튜토리얼을 사용하여 MongoDB Search로 데이터를 효과적으로 쿼리 할 수 있도록 일반적인 디자인 패턴을 학습 .
전제 조건
이 튜토리얼을 완료하려면 다음 항목을 갖추고 있어야 합니다.
MongoDB 버전 6.0 이상을 사용하는 Atlas cluster 또는 MongoDB 버전 8.2 이상을 사용하는 MongoDB 자체 관리 클러스터 .
클러스터 에 로드된 샘플 데이터입니다.
Project Data Access Admin
프로젝트 에 대한 더 높은 액세스 부여하여 MongoDB Search 인덱스를 생성합니다.클러스터에서 쿼리를 실행하기 위한 검색 테스터,
mongosh
, Compass, 또는 지원되는 MongoDB 드라이버.
참고
$search
집계 단계를 통해 운전자 사용하여 MongoDB Search 쿼리를 실행 수 있습니다. 이 튜토리얼에는 클라이언트 선택에 대한 예제가 포함되어 있습니다. 자세한 내용은 특정 튜토리얼 페이지를 참조하세요.
Atlas CLI 또는 온프레미스 배포서버 사용하여 생성한 로컬 배포를 사용하여 이 튜토리얼을 완료할 수도 있습니다. 자세히 학습 로컬 Atlas 배포서버 만들기 및 자체 관리형 배포를 참조하세요.
문자열 전용 연산자로 문자열이 아닌 필드 쿼리하기
queryString 및 자동 완성과 같은 특정 MongoDB Search 연산자는 문자열 필드만 지원 . 이러한 연산자를 사용하여 문자열이 아닌 필드를 쿼리 해야 하는 경우 이러한 필드의 값을 문자열로 변환하고 변환된 필드를 구체화된 뷰에 저장 수 있습니다. 구체화된 뷰를 사용하면 문자열별 연산자를 사용하여 변환된 필드를 쿼리 하고 원본 데이터를 소스 컬렉션 에 그대로 유지할 수 있습니다.
시작하려면 비알파벳 데이터를 문자열로 검색하는 방법을 참조하세요.
내장된 문서 내부의 필드 쿼리
문서 배열 배열 중첩된 경우에도 MongoDB Search를 사용하여 문서 배열 내부의 필드를 쿼리 수 있습니다. 문서 필드를 embeddedDocuments 유형으로 인덱스 후에는 다음 유형의 배열 내의 필드를 포함하여 이러한 문서 내의 필드에 대해 쿼리를 실행 수 있습니다.
문서 배열.
문서 내부의 문서 배열.
문서 배열 안에 있는 문서 배열.
시작하려면 내장된 문서의 필드에 대해 MongoDB Search 쿼리를 실행하는 방법을 참조하세요.
여러 컬렉션에서 쿼리
여러 컬렉션에 걸쳐 검색해야 하는 경우 다음 방법을 사용할 수 있습니다.
여러 컬렉션의 검색 결과를 결합하려면
$unionWith
단계를 사용하세요.여러 컬렉션을 통합하여 함께 인덱스하고 검색할 수 있도록 구체화된 뷰를 만드세요.
시작하려면 여러 컬렉션에서 MongoDB 검색 쿼리를 실행하는 방법을 참조하세요.