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 siempre que resuelva a 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 utiliza para calcular la distancia $sqrt entre p1 p2y:
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 }