문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

$pow (애그리게이션)

이 페이지의 내용

  • 정의
  • 행동
  • 예제
$pow

숫자를 지정된 지수로 올리고 결과를 반환합니다. $pow 의 구문은 다음과 같습니다.

{ $pow: [ <number>, <exponent> ] }

<number> 표현식은 숫자로 해석되는 한 유효한 표현식 일 수 있습니다.

<exponent> 표현식은 숫자로 해석되는 한 유효한 표현식 일 수 있습니다.

0 을 음수 지수로 올릴 수 없습니다.

결과는 해당 유형으로 정확하게 표현될 수 없는 경우를 제외하고는 입력과 동일한 유형을 갖습니다. 이런 경우:

  • 결과가 64비트 정수로 표현 가능한 경우 32비트 정수는 64비트 정수로 변환됩니다.

  • 결과가 64비트 정수로 표현될 수 없는 경우 32비트 정수는 double로 변환됩니다.

  • 결과를 64비트 정수로 표현할 수 없는 경우 64비트 정수는 double로 변환됩니다.

인수 중 하나가 null 값으로 해석되거나 누락된 필드를 참조하는 경우 $pownull 반환합니다. 두 인수 중 하나가 NaN 으로 해석되면 $powNaN 를 반환합니다.

예제
결과
{ $pow: [ 5, 0 ] }
1
{ $pow: [ 5, 2 ] }
25
{ $pow: [ 5, -2 ] }
0.04
{ $pow: [ -5, 0.5 ] }
NaN

다음 문서를 사용하여 quizzes 라는 컬렉션을 만듭니다.

db.quizzes.insertMany( [
{
_id : 1,
scores : [
{ name : "dave123", score : 85 },
{ name : "dave2", score : 90 },
{ name : "ahn", score : 71 }
]
},
{
_id : 2,
scores : [
{ name : "li", quiz : 2, score : 96 },
{ name : "annT", score : 77 },
{ name : "ty", score : 82 }
]
}
] )

다음 예에서는 각 퀴즈의 분산을 계산합니다.

db.quizzes.aggregate( [
{ $project: { variance: { $pow: [ { $stdDevPop: "$scores.score" }, 2 ] } } }
] )

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

{ _id : 1, variance : 64.66666666666667 }
{ _id : 2, variance : 64.66666666666667 }
← $percentile(애그리게이션)

이 페이지의 내용