Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

$tan (operador de expresión)

$tan

Devuelve la tangente de un valor medido en radianes.

$tan tiene la siguiente sintaxis:

{ $tan: <expression> }

$tan acepta cualquier expresión válida que dé como resultado un número. Si la expresión devuelve un valor en grados, utilice el $degreesToRadians operador para convertir el resultado a radianes.

Por defecto, devuelve valores $tan como double un. también puede$tan 128devolver valores como un decimal de bits siempre que el se <expression> resuelva en un 128valor decimal de bits.

Para obtener más información sobre las expresiones, consulta Expresiones.

Si el argumento se resuelve en un valor de null o hace referencia a un campo que no existe, $tan nulldevuelve. Si el argumento se resuelve NaN en, $tan NaNdevuelve. Si el argumento se resuelve en infinito negativo o positivo, genera un$tan error.

Ejemplo
Resultados

{ $tan: NaN }

NaN

{ $tan: null }

null

{ $tan : Infinity}

or

{ $tan : -Infinity }

Genera un mensaje de error que se asemeja al siguiente resultado formateado:

"errmsg" :
"Failed to optimize pipeline :: caused by :: cannot
apply $tan to -inf, value must in (-inf,inf)"

La colección trigonometry contiene un documento que almacena un lado y un ángulo en un triángulo rectángulo:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"angle_a" : Decimal128("53.13010235415597870314438744090659"),
"side_a" : Decimal128("3")
}

La siguiente operación de agregación utiliza la expresión para calcular el lado opuesto $tan a angle_a y agregarlo al documento de entrada utilizando la etapa de canalización.$addFields

db.trigonometry.aggregate([
{
$addFields : {
"side_b" : {
$multiply : [
{ $tan : {$degreesToRadians : "$angle_a"} },
"$side_a"
]
}
}
}
])

La expresión $degreesToRadians convierte el valor en grados de angle_a al valor equivalente en radianes.

El comando devuelve la siguiente salida:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"angle_a" : Decimal128("53.13010235415597870314438744090659"),
"side_a" : Decimal128("3")
"side_b" : Decimal128("4.000000000000000000000000000000000")
}

Dado angle_a que y side_a se almacenan como 128decimales de bits, la salida de es $tan un 128decimal de bits.

La colección trigonometry contiene un documento que almacena la hipotenusa y un ángulo en un triángulo rectángulo:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"angle_a" : Decimal128("0.9272952180016122324285124629224288"),
"side_a" : Decimal128("3")
}

La siguiente operación de agregación utiliza la expresión para calcular el lado adyacente $tan a angle_a y agregarlo al documento de entrada utilizando la etapa de canalización.$addFields

db.trigonometry.aggregate([
{
$addFields : {
"side_b" : {
$multiply : [
{ $tan : "$angle_a" },
"$side_a"
]
}
}
}
])

El comando devuelve la siguiente salida:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"angle_a" : Decimal128("0.9272952180016122324285124629224288"),
"side_a" : Decimal128("3")
"side_b" : Decimal128("3.999999999999999999999999999999999")
}

Dado angle_a que y side_a se almacenan como 128decimales de bits, la salida de es $tan un 128decimal de bits.

Califique esta página

En esta página