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
/ /

$pow (operador de expresión)

$pow

Eleva un número al exponente especificado y devuelve el resultado. $pow tiene la siguiente sintaxis:

{ $pow: [ <number>, <exponent> ] }

La expresión <number> puede ser cualquier expresión válida expresión, siempre que resuelva un número.

La <exponent> expresión puede ser cualquier expresión válida siempre que se resuelva en un número.

No se puede elevar 0 a un exponente negativo.

El resultado tendrá el mismo tipo que la entrada excepto cuando no pueda representarse con precisión en ese tipo. En estos casos:

  • Un número entero de 32 bits se convertirá a un número entero de 64 bits si el resultado es representable como un número entero de 64 bits.

  • Un entero de 32 bits se convertirá en un double si el resultado no puede representarse como un entero de 64 bits.

  • Un entero de 64 bits se convertirá a double si el resultado no se puede representar como un entero de 64 bits.

Si alguno de los argumentos se resuelve en un valor de null o se refiere a un campo que falta, $pow devuelve null. Si alguno de los argumentos se resuelve en NaN, $pow retorna NaN.

Ejemplo
Resultados

{ $pow: [ 5, 0 ] }

1

{ $pow: [ 5, 2 ] }

25

{ $pow: [ 5, -2 ] }

0.04

{ $pow: [ -5, 0.5 ] }

NaN

Crea una colección llamada quizzes con los siguientes documentos:

db.quizzes.insertMany( [
{
_id : 1,
scores : [
{ name : "dave123", score : 85 },
{ name : "dave2", score : 90 },
{ name : "ahn", score : 71 }
]
},
{
_id : 2,
scores : [
{ name : "li", quiz : 2, score : 96 },
{ name : "annT", score : 77 },
{ name : "ty", score : 82 }
]
}
] )

El siguiente ejemplo calcula la varianza para cada cuestionario:

db.quizzes.aggregate( [
{ $project: { variance: { $pow: [ { $stdDevPop: "$scores.score" }, 2 ] } } }
] )

La operación devuelve los siguientes resultados:

{ _id : 1, variance : 64.66666666666667 }
{ _id : 2, variance : 64.66666666666667 }

Volver

$or

En esta página