$searchMeta 단계는 다양한 유형의 메타데이터 결과 문서를 반환합니다.
참고
샤딩된 컬렉션에 대해 $searchMeta 쿼리를 실행하려면 클러스터에서 MongoDB v6.0 이상을 실행해야 합니다.
구문
$searchMeta 파이프라인 단계의 프로토타입 형식은 다음과 같습니다.
{ $searchMeta: { "index": "<index-name>", "<collector-name>"|"<operator-name>": { <collector-specification>|<operator-specification> }, "count": { <count-options> }, "returnScope": { "path": "<embedded-documents-field-to-retrieve>" } "returnStoredSource": true | false } }
필드
$searchMeta 단계에서는 다음 필드가 있는 문서를 사용합니다.
필드 | 유형 | 필요성 | 설명 |
|---|---|---|---|
| 객체 | 조건부 | 쿼리 에 사용할 수집기의 이름입니다. 이 필드 의 값으로 컬렉터별 옵션이 포함된 문서 제공할 수 있습니다. 정의된 패싯 이름과 해당 패싯 에 대한 버킷 배열 의 매핑을 조회 하려면 값이 |
| 객체 | 옵션 | 결과의 개수 를 검색하기 위한 개수 옵션을 지정하는 문서입니다. 자세한 학습은 MongoDB 검색 결과 집계를 참조하세요. |
| 문자열 | 옵션 | 사용할 MongoDB Search 인덱스 의 이름입니다. 생략하면 기본값은 인덱스 이름의 철자가 잘못되었거나 지정된 인덱스 클러스터 에 없는 경우 MongoDB Search는 결과를 반환하지 않습니다. |
| 객체 | 조건부 | 검색 할 연산자 의 이름입니다. 이 필드 의 값으로 연산자별 옵션이 포함된 문서 제공할 수 있습니다. 이 값 또는 |
| 객체 | 옵션 | Object that sets the context of the query to the specified embedded document field. You must also specify |
| 부울 | 조건부 | Flag that specifies whether to perform a full document lookup on the backend database or return only stored source fields directly from MongoDB Search. If omitted, defaults to 자세한 사항은 Return Stored Source Fields 항목을 참조하십시오. |
행동
$searchMeta 단계는 파이프라인의 첫 번째 단계여야 합니다.
메타데이터 결과 유형
$searchMeta 단계에서 반환되는 메타데이터 결과 문서의 구조는 결과 유형에 따라 다릅니다. MongoDB 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") } } ]