집계 파이프라인 빠른 참조
이 페이지의 내용
참고
구문 및 예시를 포함하여 특정 연산자에 대한 자세한 내용을 보려면 연산자의 참조 페이지에 대한 링크를 클릭하십시오.
MongoDB Atlas 에서 호스팅되는 배포 를 위해UI에서 집계 파이프라인을 빌드할수 있습니다.
단계
단계(db.collection.aggregate
)
db.collection.aggregate()
메서드에서 파이프라인 단계는 배열 로 나타납니다. 문서는 순서대로 단계를 거칩니다. $out
, $merge
및 $geoNear
단계를 제외한 모든 단계는 파이프라인 에 여러 번 나타날 수 있습니다.
db.collection.aggregate( [ { <stage> }, ... ] )
단계 | 설명 |
---|---|
문서에 새 필드를 추가합니다.
| |
지정된 표현식과 버킷 경계를 기반으로 수신 문서를 버킷이라는 그룹으로 분류합니다. | |
지정된 표현식을 기반으로 수신 문서를 버킷이라는 특정 수의 그룹으로 분류합니다. 버킷 경계는 지정된 수의 버킷에 문서를 고르게 분산할 수 있도록 자동으로 결정됩니다. | |
컬렉션에서 변경 스트림 커서를 반환합니다. 이 단계는 집계 파이프라인에서 한 번만 발생할 수 있으며 첫 번째 단계로 발생해야 합니다. | |
단계 또는 뷰에 관한 통계를 반환합니다. | |
집계 파이프라인의 이 단계에 있는 문서 수를 반환합니다.
| |
동일한 입력 문서 세트의 단일 단계에서 여러 개의 집계 파이프라인을 처리합니다. 단일 단계에서 여러 차원 또는 패싯에 걸쳐 데이터를 특성화할 수 있는 다면적 집계를 생성할 수 있습니다. | |
컬렉션에서 재귀 검색을 수행합니다. 각 출력 문서에 해당 문서에 대한 재귀 검색의 순회 결과를 포함하는 새 배열 필드를 추가합니다. | |
지정된 식별자 표현식으로 입력 문서를 그룹화하고, 지정된 경우 축적자 표현식을 각 그룹에 적용합니다. 모든 입력 문서를 소비하고 각 개별 그룹당 하나의 문서를 출력합니다. 출력 문서에는 식별자 필드와 누적된 필드(지정된 경우)만 포함됩니다. | |
컬렉션의 각 인덱스 사용에 관한 통계를 반환합니다. | |
수정되지 않은 처음 n개 문서를 파이프라인에 전달하며, 여기서 n은 지정된 제한입니다. 각 입력 문서에 대해 문서 1개(처음 n개 문서에 대해) 또는 문서 0개(처음 n개 문서 이후)를 출력합니다. | |
system.sessions 컬렉션으로 전파될 수 있을 만큼 충분히 오랫동안 활성화된 모든 세션을 나열합니다. | |
동일한 데이터베이스의 다른 컬렉션에 왼쪽 외부 조인을 수행하여 '조인된(joined)' 컬렉션의 문서를 필터링해 처리합니다. | |
일치하는 문서만 수정되지 않은 상태로 다음 파이프라인 단계로 전달될 수 있도록 문서 스트림을 필터링합니다. $match 는 표준 MongoDB 쿼리를 사용합니다. 각 입력 문서에서 하나의 문서(일치하는 문서) 또는 0개의 문서(일치하지 않는 문서)를 출력합니다. | |
집계 파이프라인의 결과 문서를 collection에 씁니다. 이 단계에서는 (새 문서 삽입, 문서 병합, 문서 교체, 기존 문서 유지, 작업 실패, 사용자 지정 업데이트 파이프라인으로 문서 프로세스) 결과를 출력 collection에 통합할 수 있습니다. $merge 단계를 사용하려면 파이프라인의 마지막 단계여야 합니다. | |
집계 파이프라인의 결과 문서를 collection에 씁니다. $out 단계를 사용하려면 파이프라인의 마지막 단계여야 합니다. | |
collection에 대한 계획 캐시 정보를 반환합니다. | |
새 필드를 추가하거나 기존 필드를 제거하는 등 스트림의 각 문서 모양을 변경합니다. 각 입력 문서에 대해 하나의 문서를 출력합니다. 기존 필드 제거에 대한 내용은 | |
문서를 특정 내장된 문서로 바꿉니다. 이 작업은
| |
문서를 특정 내장된 문서로 바꿉니다. 이 작업은
| |
입력에서 지정된 수의 문서를 임의로 선택합니다. | |
Atlas 컬렉션에서 하나 이상의 필드에 대한 전체 텍스트 검색을 수행합니다.
| |
문서에 새 필드를 추가합니다.
| |
문서를 창으로 그룹화하고 각 창의 문서에 하나 이상의 연산자를 적용합니다. 버전 5.0에 추가. | |
건너뛰기 수가 n으로 지정된 경우 첫 n개의 문서를 건너뛰고 나머지 문서를 수정되지 않은 상태로 파이프라인에 전달합니다. 각 입력 문서에서 문서 0개(첫 n개 문서에서) 또는 문서 1개(첫 n개 문서 이후)를 출력합니다. | |
지정된 정렬 키를 기준으로 문서 스트림을 재정렬합니다. 주문만 변경되고 문서는 수정되지 않은 상태로 유지되며, 각 입력 문서에서 하나의 문서를 출력합니다. | |
지정된 표현식의 값을 기준으로 들어오는 문서를 그룹화한 다음 각 고유 그룹의 문서 수를 계산합니다. | |
두 collection의 union을 수행합니다. 즉, 두 collection의 파이프라인 결과를 단일 결과 세트로 결합합니다. | |
입력 문서에서 배열 필드를 분해해 각 요소에 대한 문서를 출력합니다. 각 출력 문서는 배열을 요소 값으로 대체합니다. 각 입력 문서에서 n개의 문서를 출력합니다. 여기서 n은 배열 요소의 개수이며, 빈 배열의 경우 0이 될 수 있습니다. |
단계(db.aggregate
)
버전 3.6부터 MongoDB는 db.aggregate()
메서드도 제공합니다.
db.aggregate( [ { <stage> }, ... ] )
다음 단계에서는 db.collection.aggregate()
메서드가 아닌 db.aggregate()
메서드를 사용합니다.
단계 | 설명 |
---|---|
컬렉션에서 변경 스트림 커서를 반환합니다. 이 단계는 집계 파이프라인에서 한 번만 발생할 수 있으며 첫 번째 단계로 발생해야 합니다. | |
MongoDB deployment의 활성 및/또는 휴면 작업에 대한 정보를 반환합니다. | |
업데이트 가능한 단계
MongoDB 4.2부터는 업데이트 작업에 집계 파이프라인을 사용할 수 있습니다.
명령 | mongosh 방법 |
---|---|
업데이트의 경우 파이프라인은 다음 단계로 구성될 수 있습니다.
$addFields
및 그 별칭$set
$replaceRoot
및 별칭$replaceWith
입니다.
표현식
표현식에는 필드 경로, 리터럴, 시스템 변수, 표현식 객체 및 표현식 연산자 가 포함될 수 있습니다. 표현식은 중첩될 수 있습니다.
필드 경로
집계 표현식은 필드 경로를 사용하여 입력 문서의 필드에 액세스합니다. 필드 경로를 지정하려면 필드 이름 또는 점으로 구분된 필드 이름(필드가 내장된 문서에 있는 경우) 앞에 달러 기호 $
를 붙입니다. 예를 들어, user
필드의 필드 경로를 지정하려면 "$user"
, "user.name"
필드의 필드 경로를 지정하려면 "$user.name"
를 사용합니다.
"$<field>"
, "$$CURRENT.<field>"
에 해당하며, 여기서 CURRENT
는 특정 단계에서 달리 명시되지 않는 한 현재 객체의 루트로 기본 설정되는 시스템 변수입니다.
애그리게이션 변수
MongoDB는 표현식에 사용할 수 있는 다양한 애그리게이션 시스템 변수 를 제공합니다. 변수에 액세스하려면 변수 이름 앞에 $$
를 붙입니다. 예를 들면 다음과 같습니다.
변수 | 다음을 통해 액세스 $$ | 간략한 설명 |
---|---|---|
$$NOW | 배포의 모든 구성원에서 동일하고 집계 파이프라인 전체에서 일정하게 유지되는 현재 날짜/시간 값을 반환합니다. (4.2 이상에서 사용 가능) | |
$$CLUSTER_TIME | 배포의 모든 구성원에서 동일하고 집계 파이프라인 전체에서 일정하게 유지되는 현재 타임스탬프 값을 반환합니다. 복제본 세트 및 샤드 cluster에만 해당됩니다. (4.2 이상에서 사용 가능) | |
$$ROOT | 루트 문서, 즉 최상위 문서를 참고합니다. | |
$$CURRENT | 필드 경로의 시작 부분을 참조하며, 기본값은 ROOT 이지만 변경할 수 있습니다. | |
$$REMOVE | 조건부 필드 제외를 허용합니다. (3.6 이상에서 사용 가능) | |
$$DESCEND | $redact 표현식의 허용된 결과 중 하나입니다. | |
$$PRUNE | $redact 표현식의 허용된 결과 중 하나입니다. | |
$$KEEP | $redact 표현식의 허용된 결과 중 하나입니다. |
이러한 변수에 대한 자세한 설명은 시스템 변수를 참조하세요.
리터럴
리터럴은 모든 유형이 가능합니다. 그러나 MongoDB 는 달러 기호 $
로 시작하는 string 리터럴을 필드 경로로 구문 분석하고 표현식 객체 의 숫자/부울 리터럴을 프로젝션 플래그로 구문 분석합니다. 리터럴 구문 분석을 방지하려면 $literal
표현식을 사용합니다.
표현식 객체
표현식 객체의 형식은 다음과 같습니다.
{ <field1>: <expression1>, ... }
표현식이 숫자 또는 부울 리터럴인 경우 MongoDB는 리터럴을 프로젝션 플래그로 처리합니다(예: 1
또는 true
을 사용하여 필드를 포함), $project
단계에서만 유효합니다. 숫자 또는 부울 리터럴을 프로젝션 플래그로 처리하지 않으려면 $literal
표현식을 사용하여 숫자 또는 부울 리터럴을 래핑합니다.
연산자 표현식
연산자 식은 인수를 사용하는 함수와 비슷합니다. 일반적으로 이러한 표현식은 인수의 배열을 사용하며 다음과 같은 형식을 갖습니다:
{ <operator>: [ <argument1>, <argument2> ... ] }
연산자가 단일 인수를 허용하는 경우 인수 목록을 지정하는 외부 배열을 생략할 수 있습니다.
{ <operator>: <argument> }
인수가 리터럴 배열인 경우 구문 분석의 모호성을 방지하려면 리터럴 배열을 $literal
표현식으로 래핑하거나 인수 목록을 지정하는 외부 배열을 유지해야 합니다.
산술 표현식 연산자
산술 표현식은 숫자에 대한 수학적 연산을 수행합니다. 일부 산술 식은 날짜 산술 연산도 지원할 수 있습니다.
이름 | 설명 |
---|---|
숫자의 절대값을 반환합니다. | |
숫자를 추가하여 합계를 반환하거나 숫자와 날짜를 추가하여 새 날짜를 반환합니다. 숫자와 날짜를 추가하는 경우 숫자를 밀리초로 취급합니다. 인수 표현식은 원하는 수만큼 허용되지만 최대 하나의 표현식이 날짜로 해석될 수 있습니다. | |
지정된 숫자보다 크거나 같은 가장 작은 정수를 반환합니다. | |
첫 번째 숫자를 두 번째 숫자로 나눈 결과를 반환합니다. 두 개의 인수 표현식을 허용합니다. | |
e를 지정된 지수로 올립니다. | |
지정한 숫자보다 작거나 같은 가장 큰 정수를
반환합니다. | |
숫자의 자연 로그를 계산합니다. | |
지정된 기준의 숫자의 로그를 계산합니다. | |
숫자의 로그 밑수 10을 계산합니다. | |
첫 번째 숫자를 두 번째 숫자로 나눈 나머지를 반환합니다. 두 개의 인수 표현식을 허용합니다. | |
숫자를 곱하여 제품을 반환합니다. 인수 표현식을 얼마든지 사용할 수 있습니다. | |
지정된 지수만큼 숫자를 올립니다. | |
숫자를 정수로 반올림하거나 지정된 소수점 이하 자릿수로 반올림합니다. | |
제곱근을 계산합니다. | |
첫 번째 값에서 두 번째 값을 뺀 결과를 반환합니다. 두 값이 숫자인 경우 그 차이를 반환합니다. 두 값이 날짜인 경우 차이를 밀리초 단위로 반환합니다. 두 값이 날짜와 밀리초 단위의 숫자인 경우 결과 날짜를 반환합니다. 두 개의 인수 표현식을 허용합니다. 두 값이 날짜와 숫자인 경우 숫자에서 날짜를 빼는 것은 의미가 없으므로 date 인수를 먼저 지정합니다. | |
숫자를 정수로 자르거나 지정된 소수점 이하 자릿수로 자릅니다. |
배열 표현식 연산자
이름 | 설명 |
---|---|
지정된 배열 인덱스에 있는 요소를 반환합니다. | |
키 값 쌍의 배열을 문서로 변환합니다. | |
배열을 연결하여 연결된 배열을 반환합니다. | |
필터 조건과 일치하는 요소만 포함된 배열을 반환하려면 배열의 하위 집합을 선택합니다. | |
첫 번째 배열 요소를 반환합니다. $first 축적자와 구별됩니다. | |
지정된 값이 배열에 있는지 여부를 나타내는 부울을 반환합니다. | |
지정된 값의 발생을 배열에서 검색하고 첫 번째 발생의 배열 인덱스를 반환합니다. 부분 문자열을 찾을 수 없으면 -1 을 반환합니다. | |
피연산자가 배열인지 여부를 결정합니다. 부울을 반환합니다. | |
마지막 배열 요소를 반환합니다. $last 축적자와 구별됩니다. | |
배열의 각 요소에 하위 표현식을 적용하고 결과 값의 배열을 순서대로 반환합니다. 명명된 매개변수를 허용합니다. | |
문서를 키-값 쌍을 나타내는 문서 배열로 변환합니다. | |
사용자 정의 입력에 따라 정수 시퀀스를 포함하는 배열을 출력합니다. | |
배열의 각 요소에 표현식을 적용하고 이를 단일 값으로 결합합니다. | |
요소가 역순으로 배열된 배열을 반환합니다. | |
배열의 요소 수를 반환합니다. 단일 표현식을 인수로 받습니다. | |
배열의 하위 집합을 반환합니다. | |
두 배열을 병합합니다. |
부울 표현식 연산자
부울 표현식은 인수 표현식을 부울로 평가하고 결과로 부울을 반환합니다.
false
부울 값 외에도 불리언 표현식은 false
( null
, 0
, undefined
값) 로 평가됩니다. Boolean 표현식은 0이 아닌 숫자형 값과 배열을 포함하여 다른 모든 값을 true
로 평가합니다.
비교 표현식 연산자
비교 표현식은 숫자를 반환하는 $cmp
를 제외하고 부울을 반환합니다.
비교 표현식은 인수 표현식 두 개를 사용하여 서로 다른 유형의 값에 대해 지정된 BSON 비교 순서를 사용하여 값과 유형을 모두 비교합니다.
조건부 표현식 연산자
이름 | 설명 |
---|---|
하나의 표현식을 평가하고 결과에 따라 다른 두 표현식 중 하나의 값을 반환하는 삼항 연산자입니다. 정렬된 목록의 표현식 세 개 또는 명명된 매개변수 세 개를 허용합니다. | |
첫 번째 표현식의 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). |
날짜 피연산자로 사용할 수 있는 산술 연산자는 다음과 같습니다:
이름 | 설명 |
---|---|
숫자와 날짜를 추가하여 새 날짜를 반환합니다. 숫자와 날짜를 추가하는 경우 숫자를 밀리초로 취급합니다. 인수 표현식은 원하는 수만큼 허용되지만 최대 하나의 표현식이 날짜로 해석될 수 있습니다. | |
첫 번째 값에서 두 번째 값을 뺀 결과를 반환합니다. 두 값이 날짜인 경우 차이를 밀리초 단위로 반환합니다. 두 값이 날짜와 밀리초 단위의 숫자인 경우 결과 날짜를 반환합니다. 두 개의 인수 표현식을 허용합니다. 두 값이 날짜와 숫자인 경우 숫자에서 날짜를 빼는 것은 의미가 없으므로 날짜 인수를 먼저 지정하십시오. |
리터럴 표현식 연산자
기타 연산자
이름 | 설명 |
---|---|
문서에서 지정된 필드의 값을 반환합니다. 2}를 사용하여 마침표( )가 포함되거나 달러 기호( )로 시작하는 이름의 필드 값을 검색할 버전 5.0에 추가. | |
0과 1 사이의 임의의 실수를 반환합니다. | |
주어진 비율로 문서를 무작위로 선택합니다. 선택된 문서의 정확한 수는 각 실행마다 다르지만, 선택된 수량은 전체 문서 수의 백분율로 표시되는 샘플 비율과 대략적으로 일치합니다. |
객체 표현식 연산자
이름 | 설명 |
---|---|
여러 문서를 하나의 문서로 결합합니다. 버전 3.6에 새로 추가되었습니다. | |
문서를 키-값 쌍을 나타내는 문서 배열로 변환합니다. 버전 3.6에 새로 추가되었습니다. | |
문서에서 지정된 필드를 추가, 업데이트 또는 제거합니다. 2}를 사용하여 마침표( )가 포함되거나 달러 기호( )로 시작하는 이름을 가진 필드를 추가, 업데이트 또는 제거할 버전 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 의 역탄젠트(아크 탄젠트)를 라디안 단위로 반환하며, 여기서 y 와 x 는 각각 표현식에 전달된 첫 번째 값과 두 번째 값입니다. | |
값의 역쌍곡선 사인(쌍곡선 아크 사인)을 라디안 단위로 반환합니다. | |
값의 역쌍곡선 코사인(쌍곡선 아크 코사인)을 라디안 단위로 반환합니다. | |
값의 역쌍곡선 탄젠트(쌍곡선 아크 탄젠트)를 라디안 단위로 반환합니다. | |
라디안 단위로 측정된 값의 쌍곡선 사인을 반환합니다. | |
라디안 단위로 측정된 값의 쌍곡선 코사인을 반환합니다. | |
라디안 단위로 측정된 값의 쌍곡선 탄젠트를 반환합니다. | |
값을 각도에서 라디안으로 변환합니다. | |
값을 라디안에서 각도 단위로 변환합니다. |
유형 표현식 연산자
이름 | 설명 |
---|---|
값을 지정된 유형으로 변환합니다. | |
값을 부울로 변환합니다. | |
값을 날짜로 변환합니다. | |
값을 Decimal128로 변환합니다. | |
값을 double로 변환합니다. | |
값을 정수로 변환합니다. | |
값을 길이로 변환합니다. | |
값을 ObjectId로 변환합니다. | |
값을 문자열로 변환합니다. | |
필드의 BSON 데이터 유형을 반환합니다. |
축적자($group, $bucket, $bucketAuto, $setWindowFields
)
집계 누산기 연산자:
문서가 집계 파이프라인을 통해 진행되는 동안 상태를 유지합니다.
합계, 최대값, 최소값 및 기타 값을 반환합니다.
이러한 집계 파이프라인 단계에서 사용할 수 있습니다:
MongoDB 5.0부터
$setWindowFields
($setWindowFields
와 함께 사용할 수없는$accumulator
또는$mergeObjects
연산자를 사용하는 경우 제외 )
버전 5.0에서 변경됨
이름 | 설명 |
---|---|
사용자 정의 누산기 함수의 결과를 반환합니다. | |
각 그룹에 대한 고유한 표현식 값의 배열을 반환합니다. 배열 요소의 순서가 정의되지 않았습니다. 버전 5.0에서 변경: | |
숫자 값의 평균을 반환합니다. 숫자가 아닌 값을 무시합니다. 버전 5.0에서 변경: | |
그룹에 있는 문서 수를 반환합니다.
버전 5.2의 새로운 기능: | |
그룹의 첫 번째 문서에 대한 표현식 결과를 반환합니다. 버전 5.0에서 변경: | |
그룹의 마지막 문서에 대한 표현식 결과를 반환합니다. 버전 5.0에서 변경: | |
각 그룹에 대해 가장 높은 표현식 값을 반환합니다. 버전 5.0에서 변경: | |
각 그룹에 대한 입력 문서를 결합하여
생성된 문서를 반환합니다. | |
각 그룹에 대해 가장 낮은 표현식 값을 반환합니다. 버전 5.0에서 변경: | |
각 그룹의 문서에 대한 표현식 값의 배열을 반환합니다. 버전 5.0에서 변경: | |
입력 값의 모집단 표준 편차를 반환합니다. 버전 5.0에서 변경: | |
입력 값의 표본 표준 편차를 반환합니다. 버전 5.0에서 변경: | |
숫자 값의 합계를 반환합니다. 숫자가 아닌 값을 무시합니다. 버전 5.0에서 변경: |
누산기(다른 단계)
$group
단계에서 누산기로 사용할 수 있는 일부 연산자는 다른 단계에서도 사용할 수 있지만 누산기로는 사용할 수 없습니다. 이러한 다른 단계에서 사용할 경우 이러한 연산자는 상태를 유지하지 않으므로 단일 인수 또는 여러 인수를 입력으로 사용할 수 있습니다. 자세한 내용은 특정 운영자 페이지를 참조하세요.
버전 5.0에서 변경됨
다음 누산기 연산자는 $project
, $addFields
, $set
및 MongoDB 5.0부터 $setWindowFields
단계에서도 사용할 수 있습니다.
변수 표현식 연산자
이름 | 설명 |
---|---|
하위 표현식의 범위 내에서 사용할 변수를 정의하고 하위 표현식의 결과를 반환합니다. 명명된 매개변수를 허용합니다. 인수 표현식을 얼마든지 사용할 수 있습니다. |
창 연산자
버전 5.0에 추가.
윈도우 연산자는 윈도우라고 하는 컬렉션에서 정의된 문서 범위의 값을 반환합니다. 창은 $setWindowFields
단계에서 정의되며, MongoDB 5.0부터 사용할 수 있습니다.
2} 단계에서 사용할 수 있는 창 연산자는 다음과 $setWindowFields
같습니다.
이름 | 설명 |
---|---|
각 문서에 표현식을 적용한 결과로 생성되는 모든 고유 값의 배열을 반환합니다. 버전 5.0에서 변경: | |
지정된 표현식에 대한 평균을 반환합니다. 숫자가 아닌 값을 무시합니다. 버전 5.0에서 변경: | |
두 숫자 식의모집단 공분산을 반환합니다. 버전 5.0에 추가. | |
두 숫자 식의표본 공분산을 반환합니다. 버전 5.0에 추가. | |
버전 5.0에 추가. | |
지정된 창 내의 평균 변화율을 반환합니다. 버전 5.0에 추가. | |
버전 5.0에 추가. | |
숫자 표현식에대한 지수 이동 평균을 반환합니다. 버전 5.0에 추가. | |
그룹이나 창의 첫 번째 문서에 대한 표현식 결과를 반환합니다. 버전 5.0에서 변경: | |
곡선 아래 면적의 근사값을 반환합니다. 버전 5.0에 추가. | |
그룹 또는 창의 마지막 문서에 대한 표현식의 결과를 반환합니다. 버전 5.0에서 변경: | |
각 문서에 표현식을 적용한 결과의 최대값을 반환합니다. 버전 5.0에서 변경: | |
각 문서에 표현식을 적용한 결과의 최소값을 반환합니다. 버전 5.0에서 변경: | |
각 문서에 표현식을 적용한 결과 값의 배열을 반환합니다. 버전 5.0에서 변경: | |
버전 5.0에 추가. | |
버전 5.0에 추가. | |
각 문서에 숫자 표현식을 적용한 결과의 모집단 표준 편차를 반환합니다. 버전 5.0에서 변경: | |
각 문서에 숫자 표현식을 적용한 결과의 표본 표준 편차를 반환합니다. 버전 5.0에서 변경: | |
각 문서에 숫자 표현식을 적용한 결과의 합계를 반환합니다. 버전 5.0에서 변경: |