Definición
$degreesToRadiansConvierte un valor de entrada medido en grados a radianes.
$degreesToRadianstiene la siguiente sintaxis:{ $degreesToRadians: <expression> } $degreesToRadianstakes any valid expresión que produce como resultado un número.Por defecto,
$degreesToRadiansdevuelve valores como undouble.$degreesToRadianstambién puede devolver valores como un decimal de128-bits, siempre y cuando el<expression>se resuelva en un valor decimal de 128-bits.Para obtener más información sobre las expresiones, consulta Expresiones.
Comportamiento
null; NaN, y +/- Infinity
Si el argumento resuelve a un valor de null o hace referencia a un campo que falta, $degreesToRadians devuelve null. Si el argumento se resuelve como NaN, $degreesToRadians devuelve NaN. Si el argumento se resuelve como infinito negativo o positivo, $degreesToRadians negativo o positivo infinito, respectivamente.
Ejemplo | Resultados |
|---|---|
|
|
|
|
|
|
|
|
Ejemplo
La colección trigonometry contiene un documento que contiene tres ángulos medidos en grados:
{ "angle_a" : Decimal128("53.13010235415597870314438744090659"), "angle_b" : Decimal128("36.86989764584402129685561255909341"), "angle_c" : Decimal128("90") }
La siguiente operación de agregación utiliza la expresión $degreesToRadians para convertir cada valor a su equivalente en radianes y añadirlos al documento de entrada usando la etapa del pipeline $addFields.
db.trigonometry.aggregate([ { $addFields: { "angle_a_rad" : { $degreesToRadians : "$angle_a"}, "angle_b_rad" : { $degreesToRadians : "$angle_b"}, "angle_c_rad" : { $degreesToRadians : "$angle_c"} } } ])
La operación devuelve el siguiente documento:
{ "_id" : ObjectId("5c50aec71c75c59232b3ede4"), "angle_a" : Decimal128("53.13010235415597870314438744090660"), "angle_b" : Decimal128("36.86989764584402129685561255909341"), "angle_c" : Decimal128("90"), "angle_a_rad" : Decimal128("0.9272952180016122324285124629224290"), "angle_b_rad" : Decimal128("0.6435011087932843868028092287173227"), "angle_c_rad" : Decimal128("1.570796326794896619231321691639752") }
Dado que angle_a, angle_b y angle_c se almacenan como 128decimales de bits, la salida de $degreesToRadians es un decimal de 128bits.