Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$sqrt (operador de expresión)

$sqrt

Calcula la raíz cuadrada de un número positivo y devuelve el resultado como double.

$sqrt tiene 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.

El tipo de retorno por defecto es un double. Si al menos un operando es un decimal, entonces el tipo de retorno es un decimal.

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

{ $sqrt: 25 }

5

{ $sqrt: 30 }

5.477225575051661

{ $sqrt: null }

null

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 }

Volver

$split

En esta página