$searchMeta
$searchMeta
단계는 다양한 유형의 메타데이터 결과 문서를 반환합니다.
참고
샤딩된 컬렉션에 대해 $searchMeta
쿼리를 실행하려면 클러스터에서 MongoDB v6.0 이상을 실행해야 합니다.
구문
$searchMeta
파이프라인 단계의 프로토타입 형식은 다음과 같습니다.
{ $searchMeta: { "index": "<index-name>", "<collector-name>"|"<operator-name>": { <collector-specification>|<operator-specification> }, "count": { <count-options> } } }
필드
$searchMeta
단계에서는 다음 필드가 있는 문서를 사용합니다.
필드 | 유형 | 필요성 | 설명 |
---|---|---|---|
<collector-name> | 객체 | 조건부 | |
count | 객체 | 옵션 | 결과의 개수를 검색하기 위한 수량 옵션을 지정하는 문서입니다. 자세한 내용은 Atlas Search 결과 수량을 참조하세요. |
index | 문자열 | 옵션 | 사용할 Atlas Search 인덱스의 이름입니다. 생략하면 기본값은 인덱스 이름의 철자가 틀렸거나 지정된 인덱스가 클러스터에 존재하지 않는 경우 Atlas Search는 결과를 반환하지 않습니다. |
<operator-name> | 객체 | 조건부 | 검색에 사용할 연산자의 이름. 이 필드의 값으로 연산자별 옵션이 포함된 문서를 제공할 수 있습니다. 이 값 또는 <collector-name> 을 지정해야 합니다. $searchMeta 는 기본 count 메타데이터만 반환합니다. |
행동
$searchMeta
단계는 파이프라인의 첫 번째 단계여야 합니다.
메타데이터 결과 유형
$searchMeta
단계에서 반환되는 메타데이터 결과 문서의 구조는 결과 유형에 따라 달라집니다. Atlas Search는 다음과 같은 결과 유형을 지원합니다.
예시
sample_mflix.movies
collection에 대한 다음 인덱스를 가정합니다.
{ "mappings": { "dynamic": false, "fields": { "year": { "type": "number" } } } }
다음 쿼리는 $searchMeta
단계를 사용하여 1998년에 개봉한 영화 수를 검색합니다.
db.movies.aggregate([ { "$searchMeta": { "range": { "path": "year", "gte": 1998, "lt": 1999 }, "count": { "type": "total" } } } ])
[ { count: { total: Long("552") } } ]
문제 해결
Atlas Search $search
쿼리에 문제가 있는 경우 Atlas 검색 오류 문제 해결을 참조하세요.