Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

$trunc (집계)

이 페이지의 내용

  • 정의
  • 구문
  • 행동
  • 예시
$trunc

$trunc 은 숫자를 정수로 자르 거나 지정된 소수점 이하 자릿수로 자릅니다.

$trunc 연산자의 구문은 다음과 같습니다.

{ $trunc : [ <number>, <place> ] }
필드
유형
설명
<number>
숫자

숫자로 해석되는 모든 유효한 표현식 일 수 있습니다. 구체적으로 표현식 은 정수, double, decimal 또는 long 로 해석되어야 합니다.

$trunc 표현식이 숫자가 아닌 데이터 유형으로 확인되면 오류를 반환합니다.

<place>
integer

선택 사항 20 ~ 100 사이의 정수로 해석되는 모든 유효한 표현식 일 수 있으며, 배타적입니다. 예를 들어 -20 < place < 100 입니다. 지정하지 않으면 기본값은 0 입니다.

  • <place> 이 양의 정수로 해석되는 경우 $trunc 은 소수점 이하 <place> 자리로 잘라냅니다.

    예를 들어, $trunc : [1234.5678, 2]은 소수점 두 자리로 자르고 1234.56을 반환합니다.

  • <place> 가 음의 정수로 해석되는 경우, $trunc 은 소수점 왼쪽 <place> 자리를 0 로 바꿉니다.

    예를 들어, $trunc : [1234.5678, -2]은 소수점 왼쪽 두 자리까지 0으로 바꾸고 1200를 반환합니다.

  • <place> 의 절대값이 소수점 왼쪽 자릿수를 초과하는 경우 $trunc0 을 반환합니다.

    예를 들어, $trunc : [ 1234.5678, -5]는 소수점 왼쪽 다섯 번째 자리를 지정합니다. 이는 소수점의 남은 자릿수를 초과하여 0을 반환합니다.

  • <place>0 로 해석되는 경우, $trunc 는 소수점 오른쪽의 모든 숫자를 잘라내고 전체 정수 값을 반환합니다.

    예를 들어, $trunc : [1234.5678, 0]1234를 반환합니다.

<number> 표현식은 숫자로 해석되는 한 모든 유효한 표현식 일 수 있습니다. 표현식에 대한 자세한 내용은 표현식을 참조하세요 .

$trunc 은 잘린 데이터를 반올림하지 않습니다. 입력 값을 지정된 자리로 반올림하려면 $round 표현식을 사용합니다.

반환된 데이터 유형 은 입력 표현식 또는 값의 데이터 유형 유형과 일치합니다.

  • 인수가 null 값으로 확인되거나 누락된 필드를 참조하는 경우 $truncnull을 반환합니다.

  • 인수가 NaN 으로 확인되면 $truncNaN 를 반환합니다.

  • 인수가 음수 또는 양의 무한대로 해석되는 경우 $trunc 은 각각 음수 또는 양의 무한대를 반환합니다.

예시
결과
{ $trunc: [ NaN, 1] }
NaN
{ $trunc: [ null, 1] }
null
{ $trunc : [ Infinity, 1 ] }
Infinity
{ $trunc : [ -Infinity, 1 ] }
-Infinity

다음 문서를 사용하여 samples 라는 이름의 샘플 collection을 생성합니다.

db.samples.insertMany(
[
{ _id: 1, value: 19.25 },
{ _id: 2, value: 28.73 },
{ _id: 3, value: 34.32 },
{ _id: 4, value: -45.34 }
]
)
  • 다음 집계는 소수점 첫째 자리에서 잘린 value를 반환합니다.

    db.samples.aggregate([
    { $project: { truncatedValue: { $trunc: [ "$value", 1 ] } } }
    ])

    이 연산은 다음과 같은 결과를 반환합니다.

    { "_id" : 1, "truncatedValue" : 19.2 }
    { "_id" : 2, "truncatedValue" : 28.7 }
    { "_id" : 3, "truncatedValue" : 34.3 }
    { "_id" : 4, "truncatedValue" : -45.3 }
  • 다음 집계는 첫 번째 위치로 잘린 value를 반환합니다.

    db.samples.aggregate([
    { $project: { truncatedValue: { $trunc: [ "$value", -1 ] } } }
    ])

    이 연산은 다음과 같은 결과를 반환합니다.

    { "_id" : 1, "truncatedValue" : 10 }
    { "_id" : 2, "truncatedValue" : 20 }
    { "_id" : 3, "truncatedValue" : 30 }
    { "_id" : 4, "truncatedValue" : -40 }
  • 다음 집계는 전체 정수로 잘린 '값'을 반환합니다.

    db.samples.aggregate([
    { $project: { truncatedValue: { $trunc: [ "$value", 0 ] } } }
    ])

    이 연산은 다음과 같은 결과를 반환합니다.

    { "_id" : 1, "truncatedValue" : 19 }
    { "_id" : 2, "truncatedValue" : 28 }
    { "_id" : 3, "truncatedValue" : 34 }
    { "_id" : 4, "truncatedValue" : -45 }

돌아가기

$trim

이 페이지의 내용