You are viewing an offline version of MongoDB documentation. Some page features might be unavailable. To view the latest version of the page or use interactive features, visit the live page.
$sqrt (aggregation)
Definition
$sqrtCalculates 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 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 |
|---|---|
|
|
|
|
|
|
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 }