문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

Variables in Aggregation Expressions

이 페이지의 내용

  • 사용자 변수
  • 시스템 변수

애그리게이션 표현식은 사용자 정의 변수와 시스템 변수를 모두 사용할 수 있습니다.

변수에는 모든 BSON types 데이터를 저장할 수 있습니다. 변수 값에 액세스하려면 변수 이름 앞에 이중 달러 기호($$)를 붙입니다. 즉, "$$<variable>"입니다.

변수가 객체를 참고하는 경우 객체의 특정 필드에 액세스하려면 점 표기법을 사용하세요. 즉, "$$<variable>.<field>".

사용자 변수 이름에는 [_a-zA-Z0-9] ASCII 문자와 ASCII가 아닌 모든 문자가 포함될 수 있습니다.

사용자 변수 이름은 ASCII 소문자 [a-z] 또는 ASCII 문자가 아닌 문자로 시작해야 합니다.

MongoDB는 다음과 같은 시스템 변수를 제공합니다:

변수
설명
NOW

현재 날짜/시간 값을 반환하는 변수입니다. NOW 는 배포의 모든 구성원에 대해 동일한 값을 반환하며 집계 파이프라인의 모든 단계에서 동일하게 유지됩니다.

버전 4.2에 추가되었습니다.

CLUSTER_TIME

현재 타임스탬프 값을 반환하는 변수입니다.

CLUSTER_TIME 는 복제본 세트와 샤드 클러스터에서만 사용할 수 있습니다.

CLUSTER_TIME 배포의 모든 멤버에 대해 동일한 값을 반환하며 파이프라인의 모든 단계에서 동일하게 유지됩니다.

버전 4.2에 추가되었습니다.

ROOT
현재 aggregation pipeline 단계에서 처리 중인 루트 문서, 즉 최상위 문서를 참조합니다.
CURRENT

집계 파이프라인 단계에서 처리되는 필드 경로의 시작을 참조합니다. 달리 문서화되지 않는 한, 모든 단계는ROOT 과 동일하게 CURRENT 으로 시작 .

CURRENT 은 수정할 수 있습니다. 그러나 $<field>$$CURRENT.<field> CURRENT 를 리바인딩하면 $ 액세스의 의미가 변경됩니다.

REMOVE

누락된 값으로 평가되는 변수입니다. 조건부 필드 제외를 허용합니다. $project 에서 변수 REMOVE 로 설정된 필드는 출력에서 제외됩니다.

사용 예시는 조건부로 필드 제외를 참조하세요.

DESCEND
$redact 표현식의 허용된 결과 중 하나입니다.
PRUNE
$redact 표현식의 허용된 결과 중 하나입니다.
KEEP
$redact 표현식의 허용된 결과 중 하나입니다.
SEARCH_META

Atlas Search 쿼리의 메타데이터 결과를 저장하는 변수입니다. 지원되는 모든 집계 파이프라인 단계에서 $$SEARCH_META 변수로 설정된 필드는 쿼리에 대한 메타데이터 결과 를 반환합니다.

사용법의 예는 Atlas Search 패싯개수를 참조하세요.

USER_ROLES

현재 사용자에게 할당된 역할을 반환합니다.

USER_ROLES 이 포함된 사용 사례에 대해서는, 찾기, 집계, 보기, updateOne, updateManyfindAndModify 예제를 참조하세요.

버전 7.0에 추가.

다음도 참조하세요.

← zip(집계)

이 페이지의 내용