문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ /

Variables in Aggregation Expressions

이 페이지의 내용

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

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

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

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

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

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

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

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

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

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

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

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

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

CURRENT는 수정 가능합니다. 그러나 $<field>$$CURRENT.<field>와 동일하므로 CURRENT를 리바인딩하면 $ 액세스의 의미가 변경됩니다.

REMOVE

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

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

버전 3.6에 새로 추가되었습니다.

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

다음도 참조하세요.

  • $let

  • $redact

  • $map

돌아가기

명령 비교

다음

SQL에서 애그리게이션으로

이 페이지의 내용