$sqrt (aggregation)
On this page
This version of the documentation is archived and no longer supported. View the current documentation to learn how to upgrade your version of MongoDB server.
Definition
$sqrt
Calculates the square root of a positive number and returns the result as a double.
$sqrt
has the following syntax:{ $sqrt: <number> } The argument can be any valid expression as long as it resolves to a non-negative number. For more information on expressions, see Expression Operators.
Behavior
If the argument resolves to a value of null
or refers to a field that is
missing, $sqrt
returns null
. If the argument resolves to
NaN
, $sqrt
returns NaN
.
$sqrt
errors on negative numbers.
Example | Results |
---|---|
{ $sqrt: 25 } | 5 |
{ $sqrt: 30 } | 5.477225575051661 |
{ $sqrt: null } | null |
Example
A collection points
contains the following documents:
{ _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 ] } ] } } } } ])
The operation returns the following results:
{ "_id" : 1, "distance" : 5.830951894845301 } { "_id" : 2, "distance" : 5 } { "_id" : 3, "distance" : 4 }