$sqrt (aggregation)
정의
행동
기본 반환 유형은 double
입니다. 피연산자 중 하나라도 decimal
이면 반환 유형은 10진수입니다.
인수가 null
값으로 해석되거나 누락된 필드를 참조하는 경우 $sqrt
은 null
을 반환합니다. 인수가 NaN
으로 해석되는 경우, $sqrt
은 NaN
을 반환합니다.
$sqrt
errors on negative numbers.
예시 | 결과 |
---|---|
|
|
|
|
|
|
예시
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} }
The following example uses $sqrt
to calculate the
distance between p1
and 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 }