Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

집계 파이프라인 빠른 참조

이 페이지의 내용

  • 단계
  • 표현식
  • 연산자 표현식
  • 표현식 연산자 인덱스

참고

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

MongoDB Atlas 에서 호스팅되는 배포 를 위해UI에서 집계 파이프라인을 빌드할수 있습니다.

db.collection.aggregate() 메서드에서 파이프라인 단계는 배열 로 나타납니다. 문서는 순서대로 단계를 거칩니다. $out, $merge$geoNear 단계를 제외한 모든 단계는 파이프라인 에 여러 번 나타날 수 있습니다.

db.collection.aggregate( [ { <stage> }, ... ] )
단계
설명

문서에 새 필드를 추가합니다. $project와(과) 유사하게 $addFields은(는) 스트림의 각 문서를 재구성합니다. 특히 입력 문서의 기존 필드와 새로 추가된 필드를 모두 포함하는 출력 문서에 새 필드를 추가합니다.

$set$addFields의 별칭입니다.

지정된 표현식과 버킷 경계를 기반으로 수신 문서를 버킷이라는 그룹으로 분류합니다.
지정된 표현식을 기반으로 수신 문서를 버킷이라는 특정 수의 그룹으로 분류합니다. 버킷 경계는 지정된 수의 버킷에 문서를 고르게 분산할 수 있도록 자동으로 결정됩니다.
컬렉션에서 변경 스트림 커서를 반환합니다. 이 단계는 집계 파이프라인에서 한 번만 발생할 수 있으며 첫 번째 단계로 발생해야 합니다.
단계 또는 뷰에 관한 통계를 반환합니다.

집계 파이프라인의 이 단계에 있는 문서 수를 반환합니다.

$count 축적자와는 다릅니다.

동일한 입력 문서 세트의 단일 단계에서 여러 개의 집계 파이프라인을 처리합니다. 단일 단계에서 여러 차원 또는 패싯에 걸쳐 데이터를 특성화할 수 있는 다면적 집계를 생성할 수 있습니다.

지리 공간적 공간 점과의 근접성을 기준으로 정렬된 문서 스트림을 반환합니다. 지리 공간적 공간 데이터에 $match, $sort, $limit 기능을 통합합니다. 출력 문서에는 추가 거리 필드가 포함되며 위치 식별자 필드가 포함될 수 있습니다.

컬렉션에서 재귀 검색을 수행합니다. 각 출력 문서에 해당 문서에 대한 재귀 검색의 순회 결과를 포함하는 새 배열 필드를 추가합니다.
지정된 식별자 표현식으로 입력 문서를 그룹화하고, 지정된 경우 축적자 표현식을 각 그룹에 적용합니다. 모든 입력 문서를 소비하고 각 개별 그룹당 하나의 문서를 출력합니다. 출력 문서에는 식별자 필드와 누적된 필드(지정된 경우)만 포함됩니다.
컬렉션의 각 인덱스 사용에 관한 통계를 반환합니다.
수정되지 않은 처음 n개 문서를 파이프라인에 전달하며, 여기서 n은 지정된 제한입니다. 각 입력 문서에 대해 문서 1개(처음 n개 문서에 대해) 또는 문서 0개(처음 n개 문서 이후)를 출력합니다.
system.sessions 컬렉션으로 전파될 수 있을 만큼 충분히 오랫동안 활성화된 모든 세션을 나열합니다.
동일한 데이터베이스의 다른 컬렉션에 왼쪽 외부 조인을 수행하여 '조인된(joined)' 컬렉션의 문서를 필터링해 처리합니다.
일치하는 문서만 수정되지 않은 상태로 다음 파이프라인 단계로 전달될 수 있도록 문서 스트림을 필터링합니다. $match는 표준 MongoDB 쿼리를 사용합니다. 각 입력 문서에서 하나의 문서(일치하는 문서) 또는 0개의 문서(일치하지 않는 문서)를 출력합니다.
집계 파이프라인의 결과 문서를 collection에 씁니다. 이 단계에서는 (새 문서 삽입, 문서 병합, 문서 교체, 기존 문서 유지, 작업 실패, 사용자 지정 업데이트 파이프라인으로 문서 프로세스) 결과를 출력 collection에 통합할 수 있습니다. $merge 단계를 사용하려면 파이프라인의 마지막 단계여야 합니다.
집계 파이프라인의 결과 문서를 collection에 씁니다. $out 단계를 사용하려면 파이프라인의 마지막 단계여야 합니다.
collection에 대한 계획 캐시 정보를 반환합니다.

새 필드를 추가하거나 기존 필드를 제거하는 등 스트림의 각 문서 모양을 변경합니다. 각 입력 문서에 대해 하나의 문서를 출력합니다.

기존 필드 제거에 대한 내용은 $unset도 참조하세요.

문서 자체에 저장된 정보를 기반으로 각 문서의 콘텐츠를 제한해 스트림의 각 문서를 재구성합니다. $project$match의 기능을 통합합니다. 필드 수준 편집을 구현하는 데 사용할 수 있고, 각 입력 문서에서 문서 1개 또는 0개를 출력합니다.

문서를 특정 내장된 문서로 바꿉니다. 이 작업은 _id 필드를 포함하여 입력 문서의 모든 기존 필드를 대체합니다. 입력 문서에 내장된 문서를 지정하여 내장된 문서를 최상위 수준으로 승격합니다.

$replaceWith$replaceRoot 단계의 별칭입니다.

문서를 특정 내장된 문서로 바꿉니다. 이 작업은 _id 필드를 포함하여 입력 문서의 모든 기존 필드를 대체합니다. 입력 문서에 내장된 문서를 지정하여 내장된 문서를 최상위 수준으로 승격합니다.

$replaceWith$replaceRoot 단계의 별칭입니다.

입력에서 지정된 수의 문서를 임의로 선택합니다.

Atlas 컬렉션에서 하나 이상의 필드에 대한 전체 텍스트 검색을 수행합니다.

$search 는 MongoDB Atlas cluster에서만 사용할 수 있으며 자체 managed 배포서버에는 사용할 수 없습니다.

문서에 새 필드를 추가합니다. $project와(과) 유사하게 $set은(는) 스트림의 각 문서를 재구성합니다. 특히 입력 문서의 기존 필드와 새로 추가된 필드를 모두 포함하는 출력 문서에 새 필드를 추가합니다.

$set$addFields 단계의 별칭입니다.

문서를 창으로 그룹화하고 각 창의 문서에 하나 이상의 연산자를 적용합니다.

버전 5.0에 추가.

건너뛰기 수가 n으로 지정된 경우 첫 n개의 문서를 건너뛰고 나머지 문서를 수정되지 않은 상태로 파이프라인에 전달합니다. 각 입력 문서에서 문서 0개(첫 n개 문서에서) 또는 문서 1개(첫 n개 문서 이후)를 출력합니다.
지정된 정렬 키를 기준으로 문서 스트림을 재정렬합니다. 주문만 변경되고 문서는 수정되지 않은 상태로 유지되며, 각 입력 문서에서 하나의 문서를 출력합니다.
지정된 표현식의 값을 기준으로 들어오는 문서를 그룹화한 다음 각 고유 그룹의 문서 수를 계산합니다.
두 collection의 union을 수행합니다. 즉, 두 collection의 파이프라인 결과를 단일 결과 세트로 결합합니다.

문서에서 필드를 제거/제외합니다.

$unset는 필드를 제거하는 $project 단계의 별칭입니다.

입력 문서에서 배열 필드를 분해해 요소에 대한 문서를 출력합니다. 각 출력 문서는 배열을 요소 값으로 대체합니다. 각 입력 문서에서 n개의 문서를 출력합니다. 여기서 n은 배열 요소의 개수이며, 빈 배열의 경우 0이 될 수 있습니다.

버전 3.6부터 MongoDB는 db.aggregate() 메서드도 제공합니다.

db.aggregate( [ { <stage> }, ... ] )

다음 단계에서는 db.collection.aggregate() 메서드가 아닌 db.aggregate() 메서드를 사용합니다.

단계
설명
컬렉션에서 변경 스트림 커서를 반환합니다. 이 단계는 집계 파이프라인에서 한 번만 발생할 수 있으며 첫 번째 단계로 발생해야 합니다.
MongoDB deployment의 활성 및/또는 휴면 작업에 대한 정보를 반환합니다.
현재 연결된 mongos 또는 mongod 인스턴스에서 최근에 사용 중인 모든 활성 세션을 나열합니다. 이러한 세션이 아직 system.sessions collection으로 전파되지 않았을 수 있습니다.

MongoDB 4.2부터는 업데이트 작업에 집계 파이프라인을 사용할 수 있습니다.

업데이트의 경우 파이프라인은 다음 단계로 구성될 수 있습니다.

다음도 참조하세요.

표현식에는 필드 경로, 리터럴, 시스템 변수, 표현식 객체표현식 연산자 가 포함될 수 있습니다. 표현식은 중첩될 수 있습니다.

집계 표현식은 필드 경로를 사용하여 입력 문서의 필드에 액세스합니다. 필드 경로를 지정하려면 필드 이름 또는 점으로 구분된 필드 이름(필드가 내장된 문서에 있는 경우) 앞에 달러 기호 $를 붙입니다. 예를 들어, 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 로 평가합니다.

이름
설명
모든 표현식이 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로 변환합니다.
값을 double로 변환합니다.
값을 정수로 변환합니다.
값을 길이로 변환합니다.
값을 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에 추가.

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

버전 5.0에 추가.

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

버전 5.0에 추가.

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

버전 5.0에 추가.

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

버전 5.0에 추가.

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

버전 5.0에 추가.

숫자 표현식에대한 지수 이동 평균을 반환합니다.

버전 5.0에 추가.

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

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

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

버전 5.0에 추가.

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

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

각 문서에 표현식을 적용한 결과의 최대값을 반환합니다.

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

각 문서에 표현식을 적용한 결과의 최소값을 반환합니다.

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

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

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

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

버전 5.0에 추가.

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

버전 5.0에 추가.

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

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

각 문서에 숫자 표현식을 적용한 결과의 표본 표준 편차를 반환합니다.

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

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

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

돌아가기

참조