$sqrt (집계)
정의
$sqrt
양수의 제곱근을 계산하고 결과를 double로 반환합니다.
$sqrt
의 구문은 다음과 같습니다:{ $sqrt: <number> } 인수는 음수가 아닌 숫자로 해석되는 한 유효한 표현식 일 수 있습니다. 표현식에 대한 자세한 내용은 표현식 연산자를 참조하세요.
행동
기본 반환 유형은 double
입니다. 피연산자 중 하나라도 decimal
이면 반환 유형은 10진수입니다.
인수가 null
값으로 해석되거나 누락된 필드를 참조하는 경우 $sqrt
은 null
을 반환합니다. 인수가 NaN
으로 해석되는 경우, $sqrt
은 NaN
을 반환합니다.
$sqrt
음수 오류.
예시 | 결과 |
---|---|
{ $sqrt: 25 } | 5 |
{ $sqrt: 30 } | 5.477225575051661 |
{ $sqrt: null } | null |
예시
points
컬렉션에 포함된 문서는 다음과 같습니다.
{ _id: 1, p1: { x: 5, y: 8 }, p2: { x: 0, y: 5} } { _id: 2, p1: { x: -2, y: 1 }, p2: { x: 1, y: 5} } { _id: 3, p1: { x: 4, y: 4 }, p2: { x: 4, y: 0} }
다음 예제에서는 $sqrt
를 사용하여 p1
과 p2
사이의 거리를 계산합니다.
db.points.aggregate([ { $project: { distance: { $sqrt: { $add: [ { $pow: [ { $subtract: [ "$p2.y", "$p1.y" ] }, 2 ] }, { $pow: [ { $subtract: [ "$p2.x", "$p1.x" ] }, 2 ] } ] } } } } ])
이 연산은 다음과 같은 결과를 반환합니다.
{ "_id" : 1, "distance" : 5.830951894845301 } { "_id" : 2, "distance" : 5 } { "_id" : 3, "distance" : 4 }