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