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

집계 파이프라인 연산자

이 페이지의 내용

  • 호환성
  • 표현식 연산자
  • 산술 표현식 연산자
  • 배열 표현식 연산자
  • 부울 표현식 연산자
  • 비교 표현식 연산자
  • 조건부 표현식 연산자
  • 사용자 지정 집계 표현식 연산자
  • 데이터 크기 연산자
  • 날짜 표현식 연산자
  • 리터럴 표현식 연산자
  • 기타 연산자
  • 개체 표현식 연산자
  • 집합 표현식 연산자
  • 문자열 표현식 연산자
  • 텍스트 표현식 연산자
  • 삼각함수 표현식 연산자
  • 유형 표현식 연산자
  • 누산기 ($group, $bucket, $bucketAuto, $setWindowFields)
  • 누산기(다른 단계)
  • 변수 표현식 연산자
  • 창 연산자
  • 표현식 연산자의 알파벳순 목록

집계 파이프라인 연산자는 MongoDB Atlas 및 온프레미스 환경과 호환됩니다.

참고

구문 및 예제를 포함하여 특정 연산자에 대한 자세한 내용을 보려면 연산자의 참조 페이지에 대한 링크를 클릭하십시오.

다음 환경에서 호스팅되는 배포에 집계 파이프라인 연산자를 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

이러한 표현식 연산자는 집계 파이프라인 단계 에서 사용할 표현식 을 구성하는 데 사용할 수 있습니다.

연산자 식은 인수를 사용하는 함수와 비슷합니다. 일반적으로 이러한 표현식은 인수의 배열을 사용하며 다음과 같은 형식을 갖습니다:

{ <operator>: [ <argument1>, <argument2> ... ] }

연산자가 단일 인수를 허용하는 경우 인수 목록을 지정하는 외부 배열을 생략할 수 있습니다.

{ <operator>: <argument> }

인수가 리터럴 배열인 경우 구문 분석의 모호성을 피하려면 리터럴 배열을 $literal 표현식으로 감싸거나 인수 목록을 지정하는 외부 배열을 유지해야 합니다.

산술 표현식은 숫자에 대한 수학적 연산을 수행합니다. 일부 산술 식은 날짜 산술 연산도 지원할 수 있습니다.

이름
설명
숫자의 절대값을 반환합니다.
숫자를 추가하여 합계를 반환하거나 숫자와 날짜를 추가하여 새 날짜를 반환합니다. 숫자와 날짜를 추가하는 경우 숫자를 밀리초로 취급합니다. 인수 표현식은 원하는 수만큼 허용되지만 최대 하나의 표현식이 날짜로 해석될 수 있습니다.
지정된 숫자보다 크거나 같은 가장 작은 정수를 반환합니다.
첫 번째 숫자를 두 번째 숫자로 나눈 결과를 반환합니다. 두 개의 인수 표현식을 허용합니다.
e를 지정된 지수로 올립니다.
지정한 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.
숫자의 자연 로그를 계산합니다.
지정된 기준의 숫자의 로그를 계산합니다.
숫자의 로그 밑수 10을 계산합니다.
첫 번째 숫자를 두 번째 숫자로 나눈 나머지를 반환합니다. 두 개의 인수 표현식을 허용합니다.
숫자를 곱하여 제품을 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
지정된 지수만큼 숫자를 올립니다.
숫자를 정수로 반올림하거나 지정된 소수점 이하 자릿수로 반올림합니다.
제곱근을 계산합니다.
첫 번째 값에서 두 번째 값을 뺀 결과를 반환합니다. 두 값이 숫자인 경우 그 차이를 반환합니다. 두 값이 날짜인 경우 차이를 밀리초 단위로 반환합니다. 두 값이 날짜와 밀리초 단위의 숫자인 경우 결과 날짜를 반환합니다. 두 개의 인수 표현식을 허용합니다. 두 값이 날짜와 숫자인 경우 숫자에서 날짜를 빼는 것은 의미가 없으므로 date 인수를 먼저 지정합니다.
숫자를 정수로 자르거나 지정된 소수점 이하 자릿수로 자릅니다.
이름
설명
지정된 배열 인덱스에 있는 요소를 반환합니다.
키 값 쌍의 배열을 문서로 변환합니다.
배열을 연결하여 연결된 배열을 반환합니다.
필터 조건과 일치하는 요소만 포함된 배열을 반환하려면 배열의 하위 집합을 선택합니다.
첫 번째 배열 요소를 반환합니다. $first 축적자와 구별됩니다.
지정된 값이 배열에 있는지 여부를 나타내는 부울을 반환합니다.
지정된 값의 발생을 배열에서 검색하고 첫 번째 발생의 배열 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 -1을 반환합니다.
피연산자가 배열인지 여부를 결정합니다. 부울을 반환합니다.
마지막 배열 요소를 반환합니다. $last 축적자와 구별됩니다.
배열의 각 요소에 하위 표현식을 적용하고 결과 값의 배열을 순서대로 반환합니다. 명명된 매개변수를 허용합니다.
문서를 키-값 쌍을 나타내는 문서 배열로 변환합니다.
사용자 정의 입력에 따라 정수 시퀀스를 포함하는 배열을 출력합니다.
배열의 각 요소에 표현식을 적용하고 이를 단일 값으로 결합합니다.
요소가 역순으로 배열된 배열을 반환합니다.
배열의 요소 수를 반환합니다. 단일 표현식을 인수로 받습니다.
배열의 하위 집합을 반환합니다.
두 배열을 병합합니다.

부울 표현식은 인수 표현식을 부울로 평가하고 결과로 부울을 반환합니다.

false 부울 값 외에도 불리언 표현식은 false ( null, 0, undefined 값) 로 평가됩니다. Boolean 표현식은 0이 아닌 숫자형 값과 배열을 포함하여 다른 모든 값을 true 로 평가합니다.

이름
설명
모든 표현식이 true 로 평가되는 경우에만 true 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
인수 식과 반대되는 부울 값을 반환합니다. 단일 인수 표현식을 허용합니다.
표현식 중 하나라도 true 로 평가되면 true 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.

비교 표현식은 숫자를 반환하는 $cmp 를 제외하고 부울을 반환합니다.

비교 표현식은 인수 표현식 두 개를 사용하여 서로 다른 유형의 값에 대해 지정된 BSON 비교 순서를 사용하여 값과 유형을 모두 비교합니다.

이름
설명
두 값이 같으면 0, 첫 번째 값이 두 번째 값보다 크면 1, 첫 번째 값이 두 번째 값보다 작으면 -1 를 반환합니다.
값이 같으면 true 을 반환합니다.
첫 번째 값이 두 번째 값보다 크면 true 을 반환합니다.
첫 번째 값이 두 번째 값보다 크거나 같으면 true 반환합니다.
첫 번째 값이 두 번째 값보다 작으면 true 을 반환합니다.
첫 번째 값이 두 번째 값보다 작거나 같으면 true 반환합니다.
값이 동일 하지 않으면 true 를 반환합니다.
이름
설명
하나의 표현식을 평가하고 결과에 따라 다른 두 표현식 중 하나의 값을 반환하는 삼항 연산자입니다. 정렬된 목록의 표현식 세 개 또는 명명된 매개변수 세 개를 허용합니다.
첫 번째 표현식의 null이 아닌 결과를 반환하거나 첫 번째 표현식의 결과가 null인 경우 두 번째 표현식의 결과를 반환합니다. Null 결과는 정의되지 않은 값이나 누락된 필드의 인스턴스를 포함합니다. 두 개의 표현식을 인수로 받습니다. 두 번째 표현식의 결과는 null일 수 있습니다.
일련의 대소문자 표현식을 평가합니다. true 으로 평가되는 표현식을 찾으면 $switch 지정된 표현식을 실행하고 제어 흐름을 중단합니다.
이름
설명
사용자 지정 누산기 함수를 정의합니다.
사용자 정의 함수를 정의합니다.

다음 연산자는 데이터 요소의 크기를 반환합니다.

이름
설명
지정된 문자열 또는 바이너리 데이터 값의 콘텐츠 크기를 바이트 단위로 반환합니다.
지정된 문서의 크기를 바이트 단위로 반환합니다(예: bsontype Object). 단, BSON으로 인코딩된 경우.

다음 연산자는 날짜 객체 또는 날짜 객체의 구성 요소를 반환합니다.

이름
설명
날짜 객체에 여러 시간 단위를 추가합니다.
두 날짜의 차이를 반환합니다.
날짜의 구성 부분이 주어지면 BSON Date 객체를 생성합니다.
날짜/시간 문자열을 날짜 객체로 변환합니다.
날짜 개체에서 여러 시간 단위를 뺍니다.
날짜의 구성 부분을 포함하는 문서를 반환합니다.
날짜를 형식이 지정된 문자열로 반환합니다.
날짜를 자릅니다.
날짜의 월 요일을 1에서 31 사이의 숫자로 반환합니다.
날짜에 대한 요일을 1(일요일)부터 7(토요일) 사이의 숫자로 반환합니다.
날짜의 연도를 1에서 366(윤년) 사이의 숫자로 반환합니다.
날짜의 시간을 0에서 23 사이의 숫자로 반환합니다.
ISO 8601 형식으로 요일 숫자를 반환합니다. 범위는 1 (월요일) 에서 7 (일요일) 입니다.
1 0}에서 53 사이의 ISO 8601 형식의 주 번호를 반환합니다. 주 번호는 연도의 첫 번째 목요일이 포함된 주 (월요일~일요일) 를 포함하여 1 부터 시작합니다.
ISO 8601 형식의 연도 번호를 반환합니다. 연도는 첫 번째 주 월요일(ISO 8601)에 시작하여 마지막 주 일요일(ISO 8601)에 끝납니다.
날짜의 밀리초를 0에서 999 사이의 숫자로 반환합니다.
날짜의 분을 0에서 59 사이의 숫자로 반환합니다.
날짜의 월을 1(1월)부터 12(12월) 사이의 숫자로 반환합니다.
날짜의 초를 0에서 60 사이의 숫자(윤초)로 반환합니다.
값을 날짜로 변환합니다.
날짜의 주 번호를 0(연도의 첫 번째 일요일 이전의 부분 주)과 53(윤년) 사이의 숫자로 반환합니다.
날짜의 연도를 숫자로 반환합니다(예 2014).

날짜 피연산자로 사용할 수 있는 산술 연산자는 다음과 같습니다:

이름
설명
숫자와 날짜를 추가하여 새 날짜를 반환합니다. 숫자와 날짜를 추가하는 경우 숫자를 밀리초로 취급합니다. 인수 표현식은 원하는 수만큼 허용되지만 최대 하나의 표현식이 날짜로 해석될 수 있습니다.
첫 번째 값에서 두 번째 값을 뺀 결과를 반환합니다. 두 값이 날짜인 경우 차이를 밀리초 단위로 반환합니다. 두 값이 날짜와 밀리초 단위의 숫자인 경우 결과 날짜를 반환합니다. 두 개의 인수 표현식을 허용합니다. 두 값이 날짜와 숫자인 경우 숫자에서 날짜를 빼는 것은 의미가 없으므로 날짜 인수를 먼저 지정하십시오.
이름
설명
구문 분석 없이 값을 반환합니다. 집계 파이프라인이 표현식으로 해석할 수 있는 값에 사용됩니다. 예를 들어 달러 기호($)로 시작하는 문자열에 $literal 표현식을 사용하면 필드 경로로 구문 분석되지 않습니다.
이름
설명

문서에서 지정된 필드의 값을 반환합니다. 2}를 사용하여 마침표( )가 포함되거나 달러 기호( )로 시작하는 이름의 필드 값을 검색할 $getField 수 있습니다..$

버전 5.0에 추가.

0과 1 사이의 임의의 실수를 반환합니다.
주어진 비율로 문서를 무작위로 선택합니다. 선택된 문서의 정확한 수는 각 실행마다 다르지만, 선택된 수량은 전체 문서 수의 백분율로 표시되는 샘플 비율과 대략적으로 일치합니다.
이름
설명

여러 문서를 하나의 문서로 결합합니다.

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

문서를 키-값 쌍을 나타내는 문서 배열로 변환합니다.

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

문서에서 지정된 필드를 추가, 업데이트 또는 제거합니다. 2}를 사용하여 마침표( )가 포함되거나 달러 기호( )로 시작하는 이름을 가진 필드를 추가, 업데이트 또는 제거할 $setField 수 있습니다..$

버전 5.0에 추가.

집합 표현식은 배열에 집합 연산을 수행하여 배열을 집합으로 취급합니다. 집합 표현식은 각 입력 배열의 중복 항목과 요소 순서를 무시합니다.

집합 작업이 집합을 반환하는 경우 작업은 결과에서 중복 항목을 필터링하여 고유한 항목만 포함하는 배열을 출력합니다. 반환되는 배열의 요소 순서는 지정되지 않습니다.

집합에 중첩된 배열 요소가 포함된 경우 집합 표현식은 중첩된 배열로 내려가지 않고 최상위 수준에서 배열을 평가합니다.

이름
설명
집합의 어떤 요소도 false 평가되지 않으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 단일 인수 표현식을 허용합니다.
집합의 요소 중 하나라도 true 로 평가되면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 단일 인수 표현식을 허용합니다.
첫 번째 세트에는 나타나지만 두 번째 세트에는 나타나지 않는 요소가 있는 세트를 반환합니다. 즉,상대 보수 를 수행합니다. 즉, 첫 번째 세트에 대한 두 번째 세트의 값입니다. 정확히 두 개의 인수 표현식을 허용합니다.
입력 집합에 동일한 고유 요소가 있는 경우 true 을 반환합니다. 두 개 이상의 인수 표현식을 허용합니다.
모든 입력 집합에 나타나는 요소가 포함된 집합을 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
첫 번째 집합이 두 번째 집합과 같을 때를 포함하여 첫 번째 집합의 모든 요소가 두 번째 집합에 나타나는 경우, 즉 엄격한 하위 세트가 아닌 경우 true를 반환합니다. 정확히 두 개의 인수 표현식을 허용합니다.
입력 집합에 나타나는 요소가 있는 집합을 반환합니다.

2}를 제외한 문자열 표현식은 ASCII 문자로 이루어진 문자열에 대해서만 잘 정의된 동작을 가지고 있습니다.$concat

$concat 동작은 사용되는 문자에 관계없이 잘 정의되어 있습니다.

이름
설명
원하는 수의 문자열을 연결합니다.
날짜/시간 문자열을 날짜 객체로 변환합니다.
날짜를 형식이 지정된 문자열로 반환합니다.
문자열에서 하위 문자열의 발생을 검색하고 첫 번째 항목의 UTF-8 코드 포인트 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 -1을 반환합니다.
문자열에서 하위 문자열의 발생을 검색하고 첫 번째 항목의 UTF-8 코드 포인트 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 을 반환합니다. -1
문자열의 시작 부분에서 공백 또는 지정된 문자를 제거합니다.
문자열에 정규식(regex)을 적용하고 일치하는 첫 번째 부분 문자열에 대한 정보를 반환합니다.
문자열에 정규 표현식 (regex) 을 적용하고 일치하는 모든 하위 문자열에 대한 정보를 반환합니다.
문자열에 정규식(regex)을 적용하고 일치 항목이 있는지 여부를 나타내는 부울을 반환합니다.
지정된 입력에서 일치하는 문자열의 첫 번째 인스턴스를 바꿉니다.
주어진 입력에서 일치하는 문자열의 모든 인스턴스를 대체합니다.
문자열의 끝에서 공백 또는 지정된 문자를 제거합니다.
구분 기호를 기준으로 문자열을 하위 문자열로 분할합니다. 서브스트링 배열을 반환합니다. 문자열 내에서 구분 기호를 찾을 수 없으면 원래 문자열이 포함된 배열을 반환합니다.
문자열에서 UTF-8로 인코딩된 바이트 수를 반환합니다.
string의 UTF-8 코드 점 수를 반환합니다.
대소문자를 구분하지 않는 문자열 비교를 수행하고 반환합니다: 두 문자열이 같으면 0, 첫 번째 문자열이 두 번째 문자열보다 크면 1, 첫 번째 문자열이 두 번째 문자열보다 작으면 -1 를 반환합니다.
더 이상 사용되지 않습니다. $substrBytes 또는 $substrCP 를 사용하세요.
문자열의 부분 문자열을 반환합니다. 문자열에서 지정된 UTF-8 바이트 인덱스 (0부터 시작) 에 있는 문자로 시작하여 지정된 바이트 수만큼 계속됩니다.
문자열의 부분 문자열을 반환합니다. 문자열에서 지정된 UTF-8 코드 포인트(CP) 인덱스(0 기반)의 문자로 시작하여 지정된 코드 포인트 수만큼 계속됩니다.
문자열을 소문자로 변환합니다. 단일 인수 표현식을 허용합니다.
값을 문자열로 변환합니다.
문자열의 시작과 끝에서 공백 또는 지정된 문자를 제거합니다.
문자열을 대문자로 변환합니다. 단일 인수 표현식을 허용합니다.
이름
설명
집계 작업과 관련하여 사용 가능한 문서별 메타데이터에 액세스합니다.

삼각 표현식은 숫자에 대한 삼각 연산을 수행합니다. 각도를 나타내는 값은 항상 라디안으로 입력되거나 출력됩니다. $degreesToRadians$radiansToDegrees를 사용하여 각도 및 라디안 측정값 간에 변환합니다.

이름
설명
라디안 단위로 측정된 값의 사인을 반환합니다.
라디안 단위로 측정된 값의 코사인을 반환합니다.
라디안 단위로 측정되는 값의 탄젠트를 반환합니다.
값의 역사인(아크 사인)을 라디안 단위로 반환합니다.
값의 역코사인(아크 코사인)을 라디안 단위로 반환합니다.
값의 역탄젠트(아크 탄젠트)를 라디안 단위로 반환합니다.
y / x의 역탄젠트(아크 탄젠트)를 라디안 단위로 반환하며, 여기서 yx는 각각 표현식에 전달된 첫 번째 값과 두 번째 값입니다.
값의 역쌍곡선 사인(쌍곡선 아크 사인)을 라디안 단위로 반환합니다.
값의 역쌍곡선 코사인(쌍곡선 아크 코사인)을 라디안 단위로 반환합니다.
값의 역쌍곡선 탄젠트(쌍곡선 아크 탄젠트)를 라디안 단위로 반환합니다.
라디안 단위로 측정된 값의 쌍곡선 사인을 반환합니다.
라디안 단위로 측정된 값의 쌍곡선 코사인을 반환합니다.
라디안 단위로 측정된 값의 쌍곡선 탄젠트를 반환합니다.
값을 각도에서 라디안으로 변환합니다.
값을 라디안에서 각도 단위로 변환합니다.
이름
설명
값을 지정된 유형으로 변환합니다.

지정된 표현식이 integer, decimal, double 또는 long로 해석되는 경우 부울 true을 반환합니다.

표현식이 다른 BSON 유형, null 또는 누락된 필드로 해석되는 경우 부울 false 을 반환합니다.

값을 부울로 변환합니다.
값을 날짜로 변환합니다.
값을 Decimal128로 변환합니다.
값을 배수로 변환합니다.
값을 정수로 변환합니다.
값을 길이로 변환합니다.
값을 ObjectId로 변환합니다.
값을 문자열로 변환합니다.
필드의 BSON 데이터 유형을 반환합니다.

집계 누산기 연산자:

  • 문서가 집계 파이프라인을 통해 진행되는 동안 상태를 유지합니다.

  • 합계, 최대값, 최소값 및 기타 값을 반환합니다.

  • 이러한 집계 파이프라인 단계에서 사용할 수 있습니다:

버전 5.0에서 변경됨

이름
설명
사용자 정의 누산기 함수의 결과를 반환합니다.

각 그룹에 대한 고유한 표현식 값의 배열을 반환합니다. 배열 요소의 순서가 정의되지 않았습니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

숫자 값의 평균을 반환합니다. 숫자가 아닌 값을 무시합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

그룹에 있는 문서 수를 반환합니다.

$count 파이프라인 스테이지와는 다릅니다.

버전 5.2의 새로운 기능: $group$setWindowFields 단계에서 사용할 수 있습니다.

그룹의 첫 번째 문서에 대한 표현식 결과를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

그룹의 마지막 문서에 대한 표현식의 결과를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 그룹에 대해 가장 높은 표현식 값을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 그룹에 대한 입력 문서를 결합하여 생성된 문서를 반환합니다.

각 그룹에 대해 가장 낮은 표현식 값을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 그룹의 문서에 대한 표현식 값의 배열을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

입력 값의 모집단 표준 편차를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

입력 값의 표본 표준 편차를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

숫자 값의 합계를 반환합니다. 숫자가 아닌 값을 무시합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

$group 단계에서 누산기로 사용할 수 있는 일부 연산자는 다른 단계에서도 사용할 수 있지만 누산기로는 사용할 수 없습니다. 이러한 다른 단계에서 사용할 경우 이러한 연산자는 상태를 유지하지 않으므로 단일 인수 또는 여러 인수를 입력으로 사용할 수 있습니다. 자세한 내용은 특정 운영자 페이지를 참조하세요.

버전 5.0에서 변경됨

다음 누산기 연산자는 $project, $addFields, $set및 MongoDB 5.0부터 $setWindowFields 단계에서도 사용할 수 있습니다.

이름
설명
각 문서에 대해 지정된 표현식 또는 표현식 목록의 평균을 반환합니다. 숫자가 아닌 값을 무시합니다.
그룹의 첫 번째 문서에 대한 표현식 결과를 반환합니다.
그룹의 마지막 문서에 대한 표현식의 결과를 반환합니다.
각 문서에 대해 지정된 표현식 또는 표현식 목록의 최대값을 반환합니다.
각 문서에 대해 지정된 표현식 또는 표현식 목록의 최소값을 반환합니다.
입력 값의 모집단 표준 편차를 반환합니다.
입력 값의 표본 표준 편차를 반환합니다.
숫자 값의 합계를 반환합니다. 숫자가 아닌 값을 무시합니다.
이름
설명

하위 표현식의 범위 내에서 사용할 변수를 정의하고 하위 표현식의 결과를 반환합니다. 명명된 매개변수를 허용합니다.

인수 표현식을 얼마든지 사용할 수 있습니다.

버전 5.0에 추가.

윈도우 연산자는 윈도우라고 하는 컬렉션에서 정의된 문서 범위의 값을 반환합니다. 창은 $setWindowFields 단계에서 정의되며, MongoDB 5.0부터 사용할 수 있습니다.

2} 단계에서 사용할 수 있는 창 연산자는 다음과 $setWindowFields 같습니다.

이름
설명

각 문서에 표현식을 적용한 결과로 생성되는 모든 고유 값의 배열을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

지정된 표현식의 평균을 반환합니다. 숫자가 아닌 값은 무시합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

그룹 또는 창에 있는 문서 수를 반환합니다.

$count 파이프라인 스테이지와는 다릅니다.

버전 5.0에 추가.

$setWindowFields 단계 파티션에서 다른 문서를 기준으로 한 문서 위치(순위라고 함)를 반환합니다. 순위에는 격차가 없습니다. 동률은 같은 순위를 받습니다.

버전 5.0에 추가.

지정된 내의 평균 변화율을 반환합니다.

버전 5.0에 추가.

$setWindowFields 단계 파티션에서 문서의 위치(문서 번호라고도 함)를 반환합니다. 동률은 인접한 서로 다른 문서 번호를 받습니다.

버전 5.0에 추가.

그룹 또는 창의 첫 번째 문서에 대한 표현식 결과를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

곡선 아래 면적의 근사값을 반환합니다.

버전 5.0에 추가.

그룹이나 창의 마지막 문서에 대한 표현식 결과를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 문서에 표현식을 적용한 결과로 생성되는 최대값을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 문서에 표현식을 적용한 결과로 생성되는 최소값을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 문서에 표현식을 적용한 결과로 생성되는 값의 배열을 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

$setWindowFields 단계 파티션의 다른 문서를 기준으로 문서 위치(순위라고 함)를 반환합니다 .

버전 5.0에 추가.

4} 스테이지 $setWindowFields 파티션의 현재 문서를 기준으로 지정된 위치에 있는 문서에 적용된 표현식의 값을 반환합니다.

버전 5.0에 추가.

각 문서에 숫자 표현식을 적용한 결과로 얻은 모집단 표준 편차를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 문서에 숫자 표현식을 적용한 결과로 얻은 샘플 표준 편차를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

각 문서에 숫자 표현식을 적용한 결과로 얻은 합계를 반환합니다.

버전 5.0에서 변경: $setWindowFields 단계에서 사용할 수 있습니다.

이름
설명
숫자의 절대값을 반환합니다.
사용자 정의 누산기 함수의 결과를 반환합니다.
값의 역코사인(아크 코사인)을 라디안 단위로 반환합니다.
값의 역쌍곡선 코사인(쌍곡선 아크 코사인)을 라디안 단위로 반환합니다.
숫자를 추가하여 합계를 반환하거나 숫자와 날짜를 추가하여 새 날짜를 반환합니다. 숫자와 날짜를 추가하는 경우 숫자를 밀리초로 취급합니다. 인수 표현식은 원하는 수만큼 허용되지만 최대 하나의 표현식이 날짜로 해석될 수 있습니다.

각 그룹에 대한 고유한 표현식 값의 배열을 반환합니다. 배열 요소의 순서가 정의되지 않았습니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

집합의 어떤 요소도 false 평가되지 않으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 단일 인수 표현식을 허용합니다.
모든 표현식이 true 로 평가되는 경우에만 true 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
집합의 요소 중 하나라도 true 로 평가되면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 단일 인수 표현식을 허용합니다.
지정된 배열 인덱스에 있는 요소를 반환합니다.
키 값 쌍의 배열을 문서로 변환합니다.
값의 역사인(아크 사인)을 라디안 단위로 반환합니다.
값의 역쌍곡선 사인(쌍곡선 아크 사인)을 라디안 단위로 반환합니다.
값의 역탄젠트(아크 탄젠트)를 라디안 단위로 반환합니다.
y / x의 역탄젠트(아크 탄젠트)를 라디안 단위로 반환하며, 여기서 yx는 각각 표현식에 전달된 첫 번째 값과 두 번째 값입니다.
값의 역쌍곡선 탄젠트(쌍곡선 아크 탄젠트)를 라디안 단위로 반환합니다.

숫자 값의 평균을 반환합니다. 숫자가 아닌 값을 무시합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

지정된 문자열 또는 바이너리 데이터 값의 콘텐츠 크기를 바이트 단위로 반환합니다.

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

지정된 문서의 크기를 바이트 단위로 반환합니다(예: bsontype Object). 단, BSON으로 인코딩된 경우.

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

지정된 숫자보다 크거나 같은 가장 작은 정수를 반환합니다.
두 값이 같으면 0 , 첫 번째 값이 두 번째 값보다 크면 1 , 첫 번째 값이 두 번째 값보다 작으면 -1 를 반환합니다.
원하는 수의 문자열을 연결합니다.
배열을 연결하여 연결된 배열을 반환합니다.
하나의 표현식을 평가하고 결과에 따라 다른 두 표현식 중 하나의 값을 반환하는 삼항 연산자입니다. 정렬된 목록의 표현식 세 개 또는 명명된 매개변수 세 개를 허용합니다.
값을 지정된 유형으로 변환합니다.
라디안 단위로 측정된 값의 코사인을 반환합니다.
라디안 단위로 측정된 값의 쌍곡선 코사인을 반환합니다.

그룹 또는 창에 있는 문서 수를 반환합니다.

버전 5.0의 새로운 기능: $group$setWindowFields 단계에서 사용할 수 있습니다.

$count 파이프라인 스테이지와는 다릅니다.

두 숫자 표현식의 모집단 공분산을 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

두 숫자 표현식의 표본 공분산을 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

날짜 객체에 여러 시간 단위를 추가합니다.
두 날짜의 차이를 반환합니다.
날짜의 구성 부분이 주어지면 BSON Date 객체를 생성합니다.
날짜 개체에서 여러 시간 단위를 뺍니다.
날짜를 자릅니다.
날짜의 구성 부분을 포함하는 문서를 반환합니다.
날짜/시간을 날짜 객체로 반환합니다.
날짜를 형식이 지정된 문자열로 반환합니다.
날짜의 월 요일을 1에서 31 사이의 숫자로 반환합니다.
날짜에 대한 요일을 1(일요일)부터 7(토요일) 사이의 숫자로 반환합니다.
날짜의 연도를 1에서 366(윤년) 사이의 숫자로 반환합니다.
값을 각도에서 라디안으로 변환합니다.

정렬된 문서의 상대적 위치를 반환합니다. 위치에는 공백이 없습니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

지정된 내의 평균 변화율을 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

첫 번째 숫자를 두 번째 숫자로 나눈 결과를 반환합니다. 두 개의 인수 표현식을 허용합니다.

파티션에서 문서의 위치(문서 번호라고 함)를 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

값이 같으면 true 을 반환합니다.
e를 지정된 지수로 올립니다.

숫자형 표현식의 지수 이동 평균을 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

필터 조건과 일치하는 요소만 포함된 배열을 반환하려면 배열의 하위 집합을 선택합니다.

각 그룹의 첫 번째 문서에서 값을 반환합니다. 순서는 문서가 정렬된 경우에만 정의됩니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

지정한 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.

사용자 지정 애그리게이션 함수를 정의합니다.

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

문서에서 지정된 필드의 값을 반환합니다. 2}를 사용하여 마침표( )가 포함되거나 달러 기호( )로 시작하는 이름의 필드 값을 검색할 $getField 수 있습니다..$

첫 번째 값이 두 번째 값보다 크면 true 을 반환합니다.
첫 번째 값이 두 번째 값보다 크거나 같으면 true 반환합니다.
날짜의 시간을 0에서 23 사이의 숫자로 반환합니다.
첫 번째 표현식의 null이 아닌 결과를 반환하거나 첫 번째 표현식의 결과가 null인 경우 두 번째 표현식의 결과를 반환합니다. Null 결과는 정의되지 않은 값이나 누락된 필드의 인스턴스를 포함합니다. 두 개의 표현식을 인수로 받습니다. 두 번째 표현식의 결과는 null일 수 있습니다.
지정된 값이 배열에 있는지 여부를 나타내는 부울을 반환합니다.
지정된 값의 발생을 배열에서 검색하고 첫 번째 발생의 배열 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 -1을 반환합니다.
문자열에서 하위 문자열의 발생을 검색하고 첫 번째 항목의 UTF-8 코드 포인트 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 -1을 반환합니다.
문자열에서 하위 문자열의 발생을 검색하고 첫 번째 항목의 UTF-8 코드 포인트 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 -1을 반환합니다.

곡선 아래 면적의 근사값을 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

피연산자가 배열인지 여부를 결정합니다. 부울을 반환합니다.
표현식이 정수, 이중, 십진수 또는 긴 값으로 해석되는지 여부를 결정합니다.
ISO 8601 형식으로 요일 숫자를 반환합니다. 범위는 1 (월요일) 에서 7 (일요일) 입니다.
1 0}에서 53 사이의 ISO 8601 형식의 주 번호를 반환합니다. 주 번호는 연도의 첫 번째 목요일이 포함된 주 (월요일~일요일) 를 포함하여 1 부터 시작합니다.
ISO 8601 형식의 연도 번호를 반환합니다. 연도는 첫 번째 주 월요일(ISO 8601)에 시작하여 마지막 주 일요일(ISO 8601)에 끝납니다.

각 그룹의 마지막 문서에서 값을 반환합니다. 순서는 문서가 정렬된 경우에만 정의됩니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

하위 표현식의 범위 내에서 사용할 변수를 정의하고 하위 표현식의 결과를 반환합니다. 명명된 매개변수를 허용합니다.

인수 표현식을 얼마든지 사용할 수 있습니다.

구문 분석 없이 값을 반환합니다. 집계 파이프라인이 표현식으로 해석할 수 있는 값에 사용됩니다. 예를 들어 $ 로 시작하는 문자열에 $literal 표현식을 사용하면 필드 경로로 구문 분석되지 않습니다.
숫자의 자연 로그를 계산합니다.
지정된 기준의 숫자의 로그를 계산합니다.
숫자의 로그 밑수 10을 계산합니다.
첫 번째 값이 두 번째 값보다 작으면 true 을 반환합니다.
첫 번째 값이 두 번째 값보다 작거나 같으면 true 반환합니다.
문자열의 시작 부분에서 공백 또는 지정된 문자를 제거합니다.
배열의 각 요소에 하위 표현식을 적용하고 결과 값의 배열을 순서대로 반환합니다. 명명된 매개변수를 허용합니다.

각 그룹에 대해 가장 높은 표현식 값을 반환합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

여러 문서를 하나의 문서로 결합합니다.
집계 작업과 관련하여 사용 가능한 문서별 메타데이터에 액세스합니다.

각 그룹에 대해 가장 낮은 표현식 값을 반환합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

날짜의 밀리초를 0에서 999 사이의 숫자로 반환합니다.
날짜의 분을 0에서 59 사이의 숫자로 반환합니다.
첫 번째 숫자를 두 번째 숫자로 나눈 나머지를 반환합니다. 두 개의 인수 표현식을 허용합니다.
날짜의 월을 1(1월)부터 12(12월) 사이의 숫자로 반환합니다.
숫자를 곱하여 제품을 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
값이 동일 하지 않으면 true 를 반환합니다.
인수 식과 반대되는 부울 값을 반환합니다. 단일 인수 표현식을 허용합니다.
문서를 키-값 쌍을 나타내는 문서 배열로 변환합니다.
표현식 중 하나라도 true 로 평가되면 true 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
지정된 지수만큼 숫자를 올립니다.

각 그룹의 문서에 대한 표현식 값의 배열을 반환합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

값을 라디안에서 각도 단위로 변환합니다.
0과 1 사이의 임의의 정수를 반환합니다.
사용자 정의 입력에 따라 정수 시퀀스를 포함하는 배열을 출력합니다.

정렬된 다른 문서를 기준으로 문서 위치(순위라고 함)를 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

배열의 각 요소에 표현식을 적용하고 이를 단일 값으로 결합합니다.
문자열에 정규식(regex)을 적용하고 일치하는 첫 번째 부분 문자열에 대한 정보를 반환합니다.
문자열에 정규 표현식 (regex) 을 적용하고 일치하는 모든 하위 문자열에 대한 정보를 반환합니다.
문자열에 정규식(regex)을 적용하고 일치 항목이 있는지 여부를 나타내는 부울을 반환합니다.

지정된 입력에서 일치하는 문자열의 첫 번째 인스턴스를 바꿉니다.

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

주어진 입력에서 일치하는 문자열의 모든 인스턴스를 대체합니다.

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

요소가 역순으로 배열된 배열을 반환합니다.
숫자를 정수 또는 지정된 소수점 이하 자릿수로 반올림합니다.
문자열의 끝에서 공백 또는 지정된 문자를 제거합니다.
주어진 비율로 문서를 무작위로 선택합니다. 선택된 문서의 정확한 수는 각 실행마다 다르지만, 선택된 수량은 전체 문서 수의 백분율로 표시되는 샘플 비율과 대략적으로 일치합니다.
날짜의 초를 0에서 60 사이의 숫자(윤초)로 반환합니다.
첫 번째 세트에는 나타나지만 두 번째 세트에는 나타나지 않는 요소가 있는 세트를 반환합니다. 즉,상대 보완 을 수행합니다. 즉, 첫 번째 세트에 대한 두 번째 세트의 값입니다. 정확히 두 개의 인수 표현식을 허용합니다.
입력 집합에 동일한 고유 요소가 있는 경우 true 을 반환합니다. 두 개 이상의 인수 표현식을 허용합니다.

문서에서 지정된 필드를 추가, 업데이트 또는 제거합니다. 2}를 사용하여 마침표( )가 포함되거나 달러 기호( )로 시작하는 이름을 가진 필드를 추가, 업데이트 또는 제거할 $setField 수 있습니다..$

버전 5.0에 추가.

모든 입력 집합에 나타나는 요소가 포함된 집합을 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다.
첫 번째 집합이 두 번째 집합과 같을 때를 포함하여 첫 번째 집합의 모든 요소가 두 번째 집합에 나타나는 경우, 즉 엄격한 하위 세트가 아닌 경우 true를 반환합니다. 정확히 두 개의 인수 표현식을 허용합니다.
입력 집합에 나타나는 요소가 있는 집합을 반환합니다.

출력의 현재 문서를 기준으로 지정된 위치에 있는 문서에 적용된 표현식 의 값을 반환합니다.

버전 5.0의 새로운 기능: $setWindowFields 단계에서 사용 가능합니다.

배열의 요소 수를 반환합니다. 단일 표현식을 인수로 받습니다.
라디안 단위로 측정된 값의 사인을 반환합니다.
라디안 단위로 측정된 값의 쌍곡선 사인을 반환합니다.
배열의 하위 집합을 반환합니다.
구분 기호를 기준으로 문자열을 하위 문자열로 분할합니다. 서브스트링 배열을 반환합니다. 문자열 내에서 구분 기호를 찾을 수 없으면 원래 문자열이 포함된 배열을 반환합니다.
제곱근을 계산합니다.

입력 값의 모집단 표준 편차를 반환합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

입력 값의 표본 표준 편차를 반환합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

대소문자를 구분하지 않는 문자열 비교를 수행하고 반환합니다: 두 문자열이 같으면 0, 첫 번째 문자열이 두 번째 문자열보다 크면 1, 첫 번째 문자열이 두 번째 문자열보다 작으면 -1 를 반환합니다.
문자열에서 UTF-8로 인코딩된 바이트 수를 반환합니다.
string의 UTF-8 코드 점 수를 반환합니다.
더 이상 사용되지 않습니다. $substrBytes 또는 $substrCP 를 사용하세요.
문자열의 부분 문자열을 반환합니다. 문자열에서 지정된 UTF-8 바이트 인덱스 (0부터 시작) 에 있는 문자로 시작하여 지정된 바이트 수만큼 계속됩니다.
문자열의 부분 문자열을 반환합니다. 문자열에서 지정된 UTF-8 코드 포인트(CP) 인덱스(0 기반)의 문자로 시작하여 지정된 코드 포인트 수만큼 계속됩니다.
첫 번째 값에서 두 번째 값을 뺀 결과를 반환합니다. 두 값이 숫자인 경우 그 차이를 반환합니다. 두 값이 날짜인 경우 차이를 밀리초 단위로 반환합니다. 두 값이 날짜와 밀리초 단위의 숫자인 경우 결과 날짜를 반환합니다. 두 개의 인수 표현식을 허용합니다. 두 값이 날짜와 숫자인 경우 숫자에서 날짜를 빼는 것은 의미가 없으므로 date 인수를 먼저 지정합니다.

숫자 값의 합계를 반환합니다. 숫자가 아닌 값을 무시합니다.

버전 5.0에서 변경됨: $setWindowFields 단계에서 사용 가능합니다.

일련의 대소문자 표현식을 평가합니다. true 으로 평가되는 표현식을 찾으면 $switch 지정된 표현식을 실행하고 제어 흐름을 중단합니다.
라디안 단위로 측정되는 값의 탄젠트를 반환합니다.
라디안 단위로 측정된 값의 쌍곡선 탄젠트를 반환합니다.
값을 부울로 변환합니다.
값을 날짜로 변환합니다.
값을 Decimal128로 변환합니다.
값을 배수로 변환합니다.
값을 정수로 변환합니다.
값을 길이로 변환합니다.
값을 ObjectId로 변환합니다.
값을 문자열로 변환합니다.
문자열을 소문자로 변환합니다. 단일 인수 표현식을 허용합니다.
문자열을 대문자로 변환합니다. 단일 인수 표현식을 허용합니다.
문자열의 시작과 끝에서 공백 또는 지정된 문자를 제거합니다.
숫자를 정수로 자르거나 지정된 소수점 이하 자릿수로 자릅니다.
필드의 BSON 데이터 유형을 반환합니다.

문서에서 지정된 필드를 제거합니다. 마침표(.)가 포함되거나 달러 기호($)로 시작하는 이름을 가진 필드를 제거하기 위한 $setField 의 별칭입니다.

버전 5.0에 추가.

날짜의 주 번호를 0(연도의 첫 번째 일요일 이전의 부분 주)과 53(윤년) 사이의 숫자로 반환합니다.
날짜의 연도를 숫자로 반환합니다(예 2014).
두 배열을 병합합니다.

파이프라인 단계에 대해서는 집계 파이프라인 단계를 참조하세요.

돌아가기

$unwind

다음

$abs