Docs Menu
Docs Home
/ /
Operadores de tuberías de agregación

$sqrt (agregació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 válido. Expresión siempre que se resuelva en un número no negativo. Para más información sobre expresiones, consulte Expresiones.

Si el argumento se resuelve en un valor de null o hace referencia a un campo que falta, $sqrt devuelve null. Si se resuelve en NaN, $sqrt devuelve NaN.

$sqrt errores en 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