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

$type (애그리게이션)

이 페이지의 내용

  • 정의
  • 행동
  • 예제
$type

인수의 BSON types 를 지정하는 문자열을 반환합니다.

$type에는 다음과 같은 연산자 표현식 구문이 있습니다.

{ $type: <expression> }

인수는 유효한 표현식일 수 있습니다.

다음도 참조하세요.

  • $isNumber - 인수가 숫자인지 확인합니다.

  • $type (Query) - BSON types을(를) 기준으로 필드를 필터링합니다.

$type 쿼리 연산자는 배열 요소를 BSON 유형에 따라 일치시키는 것과 달리 $type 집계 연산자는 배열 요소를 검사하지 않습니다. 대신 배열을 인수로 전달하면 $type 집계 연산자는 인수의 유형(예: "array")을 반환합니다.

인수가 입력 문서에 누락된 필드인 경우 $type은 문자열 "missing"을 반환합니다.

다음 테이블은 몇 가지 일반적인 표현식 유형의 $type 출력을 보여 줍니다.

예제
결과
{ $type: "a" }
"string"
{ $type: /a/ }
"regex"
{ $type: 1 }
"double"
{ $type: NumberLong(627) }
"long"
{ $type: { x: 1 } }
"object"
{ $type: [ [ 1, 2, 3 ] ] }
"array"

참고

[ 1, 2, 3 ] [ 1, 2, 3 ] 0}과1, 2, 3 같은 리터럴 배열의 경우, 표현식을 바깥쪽 배열 괄호로 묶어 MongoDB가 을 3개의 인수( )가 있는 인수 목록으로 구문 분석하지 못하도록 합니다. 배열 [ 1, 2, 3 ]$literal 표현식으로 래핑해도 동일한 결과를 얻을 수 있습니다.

자세한 내용은 연산자 표현식 구문 형식을 참조하세요.

유형
번호
별명
참고 사항
더블
1
"double"
문자열
2
"문자열"
개체
3
"객체"
배열
4
"배열"
이진 데이터
5
"binData"
정의되지 않음
6
"정의되지 않음"
더 이상 사용되지 않습니다.
ObjectId
7
"objectId"
부울
8
"bool"
날짜
9
'날짜'
Null
10
"null"
정규 표현식
11
"정규식"
DB포인터
12
"dbPointer"
더 이상 사용되지 않습니다.
JavaScript
13
"자바 스크립트"
기호
14
"기호"
더 이상 사용되지 않습니다.
32비트 정수
16
"in"
타임스탬프
17
"타임스탬프"
64비트 정수
18
"긴"
Decimal128
19
"십진수"
최소 키
- 1
" 밍키 "
최대 키
127
"최대 키"

인수가 입력 문서에 누락된 필드인 경우 $type은 문자열 "missing"을 반환합니다.

이 예에서는 coll 라는 이름의 컬렉션과 다음 문서를사용합니다:

{ _id: 0, a : 8 }
{ _id: 1, a : [ 41.63, 88.19 ] }
{ _id: 2, a : { a : "apple", b : "banana", c: "carrot" } }
{ _id: 3, a : "caribou" }
{ _id: 4, a : NumberLong(71) }
{ _id: 5 }

다음 집계 작업에서는 $type 연산자를 사용하여 모든 문서에 대한 필드 a 유형을 $project 단계의 일부로 표시합니다.

db.coll.aggregate([{
$project: {
a : { $type: "$a" }
}
}])

이 연산은 다음을 반환합니다:

{ _id: 0, "a" : "double" }
{ _id: 1, "a" : "array" }
{ _id: 2, "a" : "object" }
{ _id: 3, "a" : "string" }
{ _id: 4, "a" : "long" }
{ _id: 5, "a" : "missing" }
← $trunc (애그리게이션)

이 페이지의 내용