Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$sqrt (agregação)

Nesta página

  • Definição
  • Comportamento
  • Exemplo
$sqrt

Calcula a raiz quadrada de um número positivo e retorna o resultado como um valor duplo.

$sqrt tem a seguinte sintaxe:

{ $sqrt: <number> }

O argumento pode ser qualquerexpressão válida, desde que resolva para um número não negativo . Para obter mais informações sobre expressões, consulte Operadores de expressão.

O tipo de retorno padrão é um double. Se pelo menos um operando for decimal, o tipo de retorno será decimal.

Se o argumento for resolvido para um valor de null ou se referir a um campo ausente, $sqrt retornará null. Se o argumento se resolve em NaN, $sqrt retorna NaN.

$sqrt erros em números negativos.

Exemplo
Resultados
{ $sqrt: 25 }
5
{ $sqrt: 30 }
5.477225575051661
{ $sqrt: null }
null

Uma coleção points contém os seguintes documentos:

{ _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} }

O exemplo a seguir utiliza $sqrt para calcular a distância entre p1 e p2:

db.points.aggregate([
{
$project: {
distance: {
$sqrt: {
$add: [
{ $pow: [ { $subtract: [ "$p2.y", "$p1.y" ] }, 2 ] },
{ $pow: [ { $subtract: [ "$p2.x", "$p1.x" ] }, 2 ] }
]
}
}
}
}
])

A operação retorna os seguintes resultados:

{ "_id" : 1, "distance" : 5.830951894845301 }
{ "_id" : 2, "distance" : 5 }
{ "_id" : 3, "distance" : 4 }

Voltar

$split