문서 홈 → MongoDB 실행 및 관리 → MongoDB Atlas
쿼리 문자열
정의
구문
queryString
의 구문은 다음과 같습니다:
1 { 2 "$search": { 3 "index": <index name>, // optional, defaults to "default" 4 "queryString": { 5 "defaultPath": "<default-field-to-search>", 6 "query": "(<field-to-search>: (<search-values>) AND|OR (<search-values>)) AND|OR (<search-values>)" 7 } 8 } 9 }
옵션
queryString
는 다음 용어를 사용하여 쿼리를 구성합니다:
필드 | 유형 | 설명 | 필요성 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
defaultPath | 문자열 | 기본적으로 검색할 인덱싱된 필드입니다. Atlas Search는 query 에서 검색할 필드를 생략한 경우에만 defaultPath 의 필드를 검색합니다. | 네 | ||||||||||||||||||||||||
query | 문자열 | 하나 이상의 인덱싱된 필드와 검색 대상 값입니다. 필드와 값은 콜론으로 구분됩니다. 예를 들어 다음을 사용하여 필드와 값을 결합할 수 있습니다.
팁다음도 참조하세요.연산자와 구분 기호를 사용하여 샘플 다음을 사용하여 와일드카드 및 정규 표현식 쿼리를 실행할 수 있습니다.
참고
| 네 | ||||||||||||||||||||||||
score | 객체 | 일치하는 검색 결과에 할당된 점수입니다. 다음 옵션을 사용하여 기본 점수를 수정할 수 있습니다.
쿼리에서 참고배열에서 값을 쿼리할 때, Atlas Search는 배열 내 쿼리와 일치하는 값의 개수에 따라 일치하는 결과의 점수를 수정하지 않습니다. 점수는 배열 내부의 일치 항목 수에 관계없이 단일 일치 항목과 동일합니다. | 아니 |
예제
다음 예에서는 sample_mflix
데이터베이스의 movies
collection을 사용합니다. 클러스터에 샘플 데이터 세트가 있는 경우 동적 매핑을 사용하여 default
라는 이름의 Atlas Search 인덱스를 생성하고 클러스터에서 예시 쿼리를 실행할 수 있습니다.
부울 연산자 쿼리
기본 예시
고급 예시
다음 예시에서는 queryString
연산자를 사용하여 captain
, kirk
, chess
용어가 포함된 영화 줄거리를 쿼리합니다. 이 예시에서는 괄호를 사용하여 동일한 검색어를 서로 다르게 그룹화하여 검색 결과에 서로 다른 문서가 포함될 수 있는 방법을 보여줍니다.
예제
다음 쿼리는 plot
필드에서 captain
, kirk
및 chess
용어의 조합을 검색합니다. 각 쿼리는 검색어가 그룹화되는 방식에 따라 다른 결과를 반환합니다.
쿼리에는 다음을 위한 $project
단계도 포함되어 있습니다.
title
,plot
,fullpath
이외의 모든 필드 제외다음과 같은 이름의 필드를 추가합니다.
score
범위 쿼리
와일드카드 쿼리
다음 예제에서는 queryString
연산자를 사용하여 퍼지, 와일드카드 및 정규 표현식을 사용하여 영화 제목을 쿼리합니다. 쿼리에는 title
제외한 모든 필드를 제외하는 $project
단계가 포함되어 있습니다.