AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

$meta (표현식 연산자)

$meta

문서와 관련된 메타데이터를 반환합니다(예: 텍스트 검색 시 "textScore").

$meta 표현식 구문은 다음과 같습니다.

{ $meta: <metaDataKeyword> }

표현식 다음 값을 로 지정할 수 있습니다.$meta <metaDataKeyword>

Keyword
설명

"textScore"

일치하는 각 문서에 대한 해당 $text 쿼리와 연결된 점수를 반환합니다. 텍스트 점수는 문서가 검색어 또는 단어와 얼마나 일치하는지를 나타냅니다.

{ $meta: "textScore" }$text 쿼리와 함께 사용해야 합니다.

이전 버전에서는 $text 쿼리와 함께 사용되지 않으면 null 점수를 반환합니다.

"indexKey"

텍스트가 아닌 인덱스를 사용하면 문서의 인덱스 키를 반환합니다. { $meta: "indexKey" } 표현식은 디버깅 목적으로만 사용되고 애플리케이션 로직에는 사용되지 않으며 cursor.returnKey()보다 선호됩니다.

MongoDB Search는 다음과 같은 추가 $meta 키워드를 제공합니다.

자세한 내용은 MongoDB Search 문서를 참조하세요.

중요

다음 $meta 키워드는 Stable API V1에서 지원되지 않습니다.

  • "textScore"

  • "indexKey"

  • "score"

  • "searchScore"

  • "scoreDetails"

  • "searchHighlights"

  • "searchSequenceToken"

  • "searchScoreDetails"

  • "searchRootDocumentId"

  • "vectorSearchScore"

는 쿼리에서만 $search 사용할 수 있으며 searchScore vectorSearchScore 는 쿼리에서만 $vectorSearch 사용할 수 있습니다. 다른 쿼리 searchScore 에서 및 를 사용하는 vectorSearchScore 경우 해당 쿼리 실패합니다.

이 포함된 쿼리에서만 를 $search 사용할 수 있습니다.searchRootDocumentId returnScope

  • { $meta: "textScore" } 표현식은 $text와 함께 사용해야 합니다. 예시:

    • 집계에서 앞으로의 단계에서 { $meta: "textScore" } 표현식을 사용하려면 파이프라인에 $text 쿼리가 있는 $match 단계를 반드시 지정합니다. $match 단계에서 $text 쿼리를 지정하지 않으면 작업이 실패합니다.

    • 찾기에서 { $meta: "textScore" }를 사용하려면 쿼리 조건에 $text 연산자를 지정해야 합니다. 쿼리 조건에 $text 연산자를 지정하지 않으면 작업이 실패합니다.

    참고

    $text 자체 관리(비Atlas) 배포를 위한 텍스트 쿼리 기능을 제공합니다. MongoDB 에서 호스팅되는 데이터의 경우, MongoDB 향상된 전체 텍스트 쿼리 솔루션인 MongoDB Search.도 제공합니다.

  • 집계에서 { $meta: "textScore" } 표현식은 $project, $group $sort 등과 같은 집계 표현식을 허용하는 다양한 단계에 포함될 수 있습니다.

  • 찾기에서 { $meta: "textScore" } 표현식은 프로젝션sort()에 포함될 수 있습니다.

  • { $meta: "textScore" } 표현식은 텍스트 점수 메타데이터를 포함하는 프로젝션 문서에 포함될 수 있습니다.

  • $meta 표현식 포함 또는 제외 프로젝션 에 포함될 수 있습니다.

  • 표현식을 문서에 이미 있는 필드 이름으로 설정하면 프로젝션된 메타데이터 값이 기존 값을 덮어씁니다.

  • 집계에서 텍스트 점수 값을 포함한 필드를 출력하는 단계를 따른 후, 후속 단계에서 쿼리 조건을 지정하거나 해당 필드에 대해 작업을 수행할 수 있습니다. 예를 들어 집계 파이프라인의 $text를 참조합니다.

  • 찾기에서는 텍스트 점수에 쿼리 조건을 지정할 수 없습니다. 대신 집계를 사용하세요.

  • { $meta: "textScore" } 표현식을 정렬 작업의 일부로 사용하여 텍스트 점수 메타데이터를 기준으로 정렬할 수 있습니다. 즉,

    • 집계에서는 $sort 단계입니다.

    • 찾기의 경우, sort() 메서드

  • "textScore" 메타데이터는 내림차순으로 정렬됩니다.

  • 정렬 작업에 사용하려면 { $meta: "textScore" } 표현식을 임의 필드 이름으로 설정합니다. 필드 이름은 쿼리 시스템에서 무시됩니다.

  • 집계에서는 textScore를 프로젝션하지 않고도 결과 문서를 { $meta: "textScore" }별로 정렬할 수 있습니다.

  • 찾기에서는 textScore를 프로젝션할 필요 없이 결과 문서를 { $meta: "textScore" } 별로 정렬할 수 있습니다.

  • 집계 에서 프로젝션 과 정렬 모두에 표현식 포함하면 프로젝션 과 정렬에서 표현식 에 대해 서로 다른 필드 이름을 가질 수 있습니다. 정렬의 필드 이름은 쿼리 시스템에서 { $meta: "textScore" } 무시됩니다.

  • 찾기에서 프로젝션 과 정렬 모두에 표현식 포함하면 프로젝션 과 정렬에서 표현식 에 대해 서로 다른 필드 이름을 가질 수 있습니다. 정렬의 필드 이름은 쿼리 시스템에서 { $meta: "textScore" } 무시됩니다.

  • { $meta: "indexKey" } 표현식은 디버깅 목적으로만 사용되며 애플리케이션 로직용으로는 사용할 수 없습니다.

  • cursor.returnKey()보다 { $meta: "indexKey" } 표현식을 사용하는 것이 좋습니다.

  • 집계에서 { $meta: "indexKey" } 표현식은 $project, $group $sortByCount 등과 같은 집계 표현식을 허용하는 다양한 단계에 포함될 수 있지만 $sort은(는) 포함되지 않습니다. 그러나 집계 파이프라인을 사용하면 먼저 { $meta: "indexKey" } 표현식(예: $project, $addFields 등)을 프로젝트한 다음 후속 $sort 단계에서 해당 필드를 기준으로 정렬할 수 있습니다.

  • 찾기에서 { $meta: "indexKey" } 표현식은 프로젝션 문서의 일부로만 사용할 수 있습니다.

  • 반환되는 값은 데이터베이스가 인덱스의 값을 나타내기로 결정하는 방법에 따라 달라지며 버전에 따라 변경될 수 있습니다. 표시된 값은 필드의 실제 값이 아닐 수 있습니다.

  • 반환되는 값은 시스템에서 선택한 실행 계획에 따라 달라집니다. 예를 들어 쿼리에 답변하는 데 사용할 수 있는 인덱스가 두 개 있는 경우 'indexKey' 메타데이터의 값은 선택한 인덱스에 따라 달라집니다.

  • 인덱스를 사용하지 않으면 { $meta: "indexKey" } 표현식이 값을 반환하지 않으며 필드가 출력의 일부로 포함되지 않습니다.

이 페이지 평가하기

이 페이지의 내용