Definition
- $sqrt
- Calculates the square root of a positive number and returns the result as a double. - $sqrthas 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 Expressions. 
Behavior
The default return type is a double. If at least
one operand is a decimal, then the return
type is a decimal.
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 | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
Example
A collection points contains the following documents:
db.points.insertMany( [    { _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 }