Definición
$sqrtCalcula la raíz cuadrada de un número positivo y devuelve el resultado como double.
$sqrttiene la siguiente sintaxis:{ $sqrt: <number> } El argumento puede ser cualquier expresión válida, siempre que se resuelva como un número no negativo. Para obtener más información sobre las expresiones, consulta Expresiones.
Comportamiento
Si el argumento se resuelve en un valor de null o se refiere a un campo que falta, $sqrt devuelve null. Si el argumento se resuelve en NaN, $sqrt devuelve NaN.
$sqrt errores en los números negativos.
Ejemplo | Resultados |
|---|---|
|
|
|
|
|
|
Ejemplo
Una colección points contiene los siguientes documentos:
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} } ] )
El siguiente ejemplo usa $sqrt para calcular la distancia entre p1 y p2:
db.points.aggregate([ { $project: { distance: { $sqrt: { $add: [ { $pow: [ { $subtract: [ "$p2.y", "$p1.y" ] }, 2 ] }, { $pow: [ { $subtract: [ "$p2.x", "$p1.x" ] }, 2 ] } ] } } } } ])
La operación devuelve los siguientes resultados:
{ _id: 1, distance: 5.830951894845301 } { _id: 2, distance: 5 } { _id: 3, distance: 4 }