Docs Menu
Docs Home
/ /
Operadores

Operadores de tuberías de agregación

Los operadores de canalización de agregación son compatibles con MongoDB Atlas y entornos locales.

Nota

Para obtener detalles sobre un operador específico, incluida la sintaxis y ejemplos, haga clic en el enlace a la página de referencia del operador.

Puede utilizar los operadores de canalización de agregación para implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Estos operadores de expresión están disponibles para construir expresiones para su uso en las etapas del proceso de agregación.

Las expresiones de operador son similares a las funciones que aceptan argumentos. En general, estas expresiones aceptan una matriz de argumentos y tienen la siguiente forma:

{ <operator>: [ <argument1>, <argument2> ... ] }

Si el operador acepta un solo argumento, puedes omitir el arreglo externo que designa la lista de argumentos:

{ <operator>: <argument> }

Para evitar la ambigüedad de análisis si el argumento es una matriz literal, debe envolver la matriz literal en un $literal expresión o mantener la matriz externa que designa la lista de argumentos.

Las expresiones aritméticas realizan operaciones matemáticas con números. Algunas expresiones aritméticas también pueden dar soporte a la aritmética de fechas.

Nombre
Descripción

Devuelve el valor absoluto de un número.

Añade números para devolver la suma, o añade números y una fecha para devolver una nueva fecha. Si se añaden números y una fecha, se tratan los números como milisegundos. Acepta cualquier cantidad de expresiones de argumento, pero como máximo, una expresión puede resolverse en una fecha.

Devuelve el menor número entero que sea mayor o igual al número especificado.

Devuelve el resultado de dividir el primer número por el segundo. Acepta expresiones con dos argumentos.

Eleva e al exponente especificado.

Devuelve el mayor número entero que sea menor o igual al número especificado.

Calcula el registro natural de un número.

Calcula el registro de un número en la base especificada.

Calcula el registro en base diez de un número.

Devuelve el resto del primer número dividido por el segundo. Acepta expresiones con dos argumentos.

Multiplica números para devolver el producto. Acepta cualquier cantidad de expresiones de argumentos.

Eleva un número al exponente especificado.

Redondea un número a un número entero o a un lugar decimal especificado.

Calcula la raíz cuadrada.

Devuelve el resultado de restar el segundo valor del primero. Si los dos valores son números, se devuelve la diferencia. Si los dos valores son fechas, se devuelve la diferencia en milisegundos. Si los dos valores son una fecha y un número en milisegundos, se devuelve la fecha resultante. Acepta expresiones con dos argumentos. Si los dos valores son una fecha y un número, especifique primero el argumento de la fecha, ya que no tiene sentido restar una fecha de un número.

Trunca un número a un número entero o a un lugar decimal especificado.

Nombre
Descripción

Devuelve el elemento en el índice especificado del arreglo.

Convierte un arreglo de pares clave-valor en un documento.

Concatena arreglos para devolver el arreglo concatenado.

Selecciona un subconjunto del arreglo para devolver un arreglo que contenga únicamente los elementos que cumplen con la condición del filtro.

Devuelve el primer elemento de la matriz. Es distinto del $first acumulador.

Devuelve un número especificado de elementos desde el inicio de un arreglo. Distinto del acumulador $firstN.

Devuelve un valor booleano que indica si un valor especificado está en un arreglo.

Busca en un arreglo una ocurrencia de un valor especificado y devuelve el índice de la primera ocurrencia. Si no se encuentra la substring, devuelve -1.

Determina si el operando es un arreglo. Devuelve un valor booleano.

Devuelve el último elemento de la matriz. Es distinto del $last acumulador.

Devuelve un número especificado de elementos desde el final de un arreglo. Distinto del acumulador $lastN.

Aplica una subexpresión a cada elemento de un arreglo y devuelve el arreglo de los valores resultantes en el mismo orden. Acepta parámetros con nombre.

Devuelve los valores más grandes de n en un arreglo. Distinto del acumulador $maxN.

Devuelve los n valores más pequeños en un arreglo. Distinto del acumulador $minN.

Convierte un documento en un arreglo de documentos que representan pares clave-valor.

Genera un arreglo que contiene una secuencia de números enteros según las entradas definidas por el usuario.

Aplica una expresión a cada elemento de un arreglo y los combina en un solo valor.

Devuelve un arreglo con los elementos en orden inverso.

Devuelve el número de elementos en el arreglo. Acepta una sola expresión como argumento.

Devuelve un subconjunto de un arreglo.

Ordena los elementos de un arreglo.

Fusionar dos arreglos.

Las expresiones booleanas evalúan las expresiones de sus argumentos como valores booleanos y devuelven un valor booleano como resultado.

Además del valor booleano false, la expresión booleana evalúa como false los siguientes valores: null, 0 y undefined. La expresión booleana evalúa todos los demás valores como true, incluidos los valores numéricos no cero y los arreglos.

Nombre
Descripción

Devuelve true solo cuando todas sus expresiones se evalúan a true. Acepta cualquier cantidad de expresiones de argumentos.

Devuelve el valor booleano que es el opuesto de su expresión de argumento. Acepta una expresión de argumento único.

Devuelve true cuando alguna de sus expresiones se evalúa como true. Acepta cualquier cantidad de expresiones de argumentos.

Las expresiones de comparación devuelven un valor booleano, excepto $cmp, que devuelve un número.

Las expresiones de comparación toman dos expresiones de argumento y comparan tanto el valor como el tipo, utilizando el orden de comparación BSON especificado para valores de diferentes tipos.

Nombre
Descripción

Devuelve 0 si los dos valores son equivalentes, 1 si el primer valor es mayor que el segundo y -1 si el primer valor es menor que el segundo.

Devuelve true si los valores son equivalentes.

Devuelve true si el primer valor es mayor que el segundo.

Devuelve true si el primer valor es mayor o igual que el segundo.

Devuelve true si el primer valor es menor que el segundo.

Devuelve true si el primer valor es menor que o igual al segundo.

Devuelve true si los valores no son equivalentes.

Nombre
Descripción

Un operador ternario que evalúa una expresión y, dependiendo del resultado, devuelve el valor de una de las otras dos expresiones. Acepta tres expresiones en una lista ordenada o tres parámetros nombrados.

Devuelve el resultado no nulo de la primera expresión o el resultado de la segunda expresión si la primera expresión da como resultado un valor nulo. El resultado nulo abarca instancias de valores indefinidos o campos ausentes. Acepta dos expresiones como argumentos. El resultado de la segunda expresión puede ser nulo.

Evalúa una serie de expresiones de casos. Cuando encuentra una expresión que se evalúa como true, $switch ejecuta una expresión especificada y sale del flujo de control.

Nombre
Descripción

Define una función de acumulador personalizada.

Define una función personalizada.

Los siguientes operadores devuelven el tamaño de un elemento de datos:

Nombre
Descripción

Devuelve el tamaño del contenido de una string o un valor de datos binario dado en bytes.

Devuelve el tamaño en bytes de un documento dado (es decir, bsontype Object) cuando se codifica como BSON.

Los siguientes operadores devuelven objetos de fecha o componentes de un objeto de fecha:

Nombre
Descripción

Añade un número de unidades de tiempo a un objeto de fecha.

Devuelve la diferencia entre dos fechas.

Construye un objeto de fecha BSON a partir de las partes constituyentes de la fecha.

Convierte una string de fecha/hora en un objeto de fecha.

Resta un número de unidades de tiempo de un objeto de fecha.

Devuelve un documento que contiene los componentes de una fecha.

Devuelve la fecha como una string formateada.

Trunca una fecha.

Devuelve el día del mes de una fecha como un número entre 1 y 31.

Devuelve el día de la semana para una fecha como un número entre 1 (domingo) y 7 (sábado).

Devuelve el día del año de una fecha como un número entre 1 y 366 (año bisiesto).

Devuelve la hora de una fecha como un número entre 0 y 23.

Devuelve el número del día de la semana en formato ISO 8601, que va del 1 (lunes) al 7 (domingo).

Devuelve el número de la semana en formato ISO 8601, con un rango de 1 a 53. Los números de las semanas comienzan en 1 con la semana (de lunes a domingo) que contiene el primer jueves del año.

Devuelve el número del año en formato ISO 8601. El año comienza con el lunes de la semana 1 (ISO 8601) y termina con el domingo de la última semana (ISO 8601).

Devuelve los milisegundos de una fecha como un número entre 0 y 999.

Devuelve el minuto de una fecha como un número entre 0 y 59.

Devuelve el mes de una fecha como un número entre 1 (enero) y 12 (diciembre).

Devuelve los segundos de una fecha como un número entre 0 y 60 (segundos intercalares).

Convierte el valor a una Fecha.

Devuelve el número de semana de una fecha como un número entre 0 (la semana parcial que precede al primer domingo del año) y 53 (en un año bisiesto).

Devuelve el año de una fecha como un número (por ejemplo, 2014).

Los siguientes operadores aritméticos pueden aceptar operandos de fecha:

Nombre
Descripción

Suma números y una fecha para obtener una nueva fecha. Si se agregan números y una fecha, trata los números como milisegundos. Acepta cualquier cantidad de expresiones de argumento, pero como máximo, una expresión puede resolverse en una fecha.

Devuelve el resultado de restar el segundo valor del primero. Si los dos valores son fechas, se devuelve la diferencia en milisegundos. Si los dos valores son una fecha y un número en milisegundos, se devuelve la fecha resultante. Acepta expresiones con dos argumentos. Si los dos valores son una fecha y un número, se debe especificar primero el argumento de la fecha, ya que no tiene sentido restar una fecha de un número.

Nombre
Descripción

Devuelva un valor sin analizar. Se puede utilizar para valores que el pipeline de agregación pueda interpretar como una expresión. Por ejemplo, se puede utilizar una expresión $literal en una string que comience con un signo de dólar ($) para evitar que se interprete como una ruta de campo.

Nombre
Descripción

Devuelve el valor de un campo especificado de un documento. Se puede usar $getField para recuperar el valor de los campos cuyos nombres contienen puntos (.) o comienzan con signos de dólar ($).

Nuevo en la versión 5.0.

Devuelve un número flotante aleatorio entre 0 y 1

Se pueden seleccionar documentos aleatoriamente a una tasa determinada. Aunque el número exacto de documentos seleccionados varía en cada ejecución, la cantidad elegida se aproxima a la tasa de muestreo expresada como un porcentaje del número total de documentos.

Nombre
Descripción

Combina múltiples documentos en un único documento.

Convierte un documento en un arreglo de documentos que representan pares clave-valor.

Añade, actualiza o remueve un campo especificado en un documento. Puede usar $setField para añadir, actualizar o remover campos con nombres que contengan puntos (.) o comiencen con signos de dólar ($).

Nuevo en la versión 5.0.

Las expresiones de conjuntos realizan operaciones de conjuntos en arreglos, tratando los arreglos como conjuntos. Las expresiones de conjuntos ignoran las entradas duplicadas en cada arreglo de entrada y el orden de los elementos.

Si la operación de conjunto devuelve un conjunto, la operación elimina duplicados en el resultado para producir un arreglo que contiene solo entradas únicas. El orden de los elementos en el arreglo de salida es indefinido.

Si un conjunto contiene un elemento de arreglo anidado, la expresión del conjunto no desciende al arreglo anidado, sino que evalúa el arreglo en el nivel superior.

Nombre
Descripción

Devuelve true si ningún elemento de un conjunto se evalúa como false; de lo contrario, devuelve false. Acepta una expresión con un único argumento.

Devuelve true si algún elemento de un conjunto se evalúa como true; de lo contrario, devuelve false. Acepta una expresión con un único argumento.

Devuelve un conjunto con elementos que aparecen en el primer conjunto pero no en el segundo, es decir, realiza un complemento relativo del segundo conjunto con respecto al primero. Acepta exactamente dos expresiones de argumento.

Devuelve true si los conjuntos de entrada tienen los mismos elementos únicos. Acepta dos o más expresiones de argumentos.

Devuelve un conjunto con elementos que aparecen en todos los conjuntos de entrada. Acepta cualquier cantidad de expresiones de argumentos.

Devuelve true si todos los elementos del primer conjunto aparecen en el segundo conjunto, incluso cuando el primer conjunto es igual al segundo conjunto; es decir, no es un subconjunto estricto. Acepta exactamente dos expresiones de argumentos.

Devuelve un conjunto con los elementos que aparecen en cualquiera de los conjuntos de entrada.

Las expresiones de strings, con la excepción de $concat, solo tienen un comportamiento bien definido para strings de caracteres ASCII.

$concat El comportamiento está bien definido independientemente de los caracteres utilizados.

Nombre
Descripción

Concatena cualquier cantidad de strings.

Convierte una string de fecha/hora en un objeto de fecha.

Devuelve la fecha como una string formateada.

Realiza una búsqueda en una string de una ocurrencia de una substring y devuelve el índice de bytes UTF-8 de la primera ocurrencia. Si no se encuentra la substring, devuelve -1.

Se realiza una búsqueda en una string para una ocurrencia de una substring y devuelve el índice del punto de código UTF-8 de la primera ocurrencia. Si no se encuentra la substring, devuelve -1

Elimina los espacios en blanco o los caracteres especificados del inicio de una string.

Aplica una expresión regular (regex) a una string y devuelve información sobre la primera substring coincidente.

Aplica una expresión regular (regex) a un string y devuelve información sobre todas las subcadenas coincidentes.

Aplica una expresión regular (regex) a una string y devuelve un valor booleano que indica si se ha encontrado una coincidencia o no.

Reemplaza la primera instancia de una string coincidente en una entrada dada.

Reemplaza todas las instancias de una string coincidente en una entrada dada.

Remueve los espacios en blanco o los caracteres especificados del final de una string.

Crea una división de una string en substrings basándose en un delimitador. Devuelve un arreglo de substrings. Si el delimitador no se encuentra dentro de la string, devuelve un arreglo que contiene la string original.

Devuelve el número de bytes codificados en UTF-8 en una string.

Devuelve el número de puntos de código UTF-8 en una string.

Realiza una comparación de strings sin distinguir entre mayúsculas y minúsculas y devuelve: 0 si dos strings son equivalentes, 1 si la primera string es mayor que la segunda y -1 si la primera string es menor que la segunda.

Obsoleto Se puede utilizar $substrBytes o $substrCP.

Devuelve la substring de una string. Comienza con el carácter en el índice de bytes UTF-8 especificado (base cero) en la string y continúa durante el número de bytes especificado.

Devuelve la substring de una string. Comienza en el carácter del índice especificado del punto de código (CP) UTF-8 (con el índice basado en cero) dentro de la string y continúa durante el número de puntos de código especificado.

Convierte una string a minúsculas. Acepta una expresión con un único argumento.

Convierte el valor a una string.

Remueve los espacios en blanco o los caracteres especificados del principio y el final de una string.

Convierte una string a mayúsculas. Acepta una expresión con un único argumento.

Nombre
Descripción

Acceder a los metadatos disponibles por documento relacionados con la operación de agregación.

Los operadores de expresión de marca de tiempo devuelven valores de una marca de tiempo.

Nombre
Descripción

Devuelve el ordinal incremental de una marca de tiempo como un long.

Nuevo en la versión 5.1.

Devuelve los segundos de una marca de tiempo como un long.

Nuevo en la versión 5.1.

Las expresiones trigonométricas realizan operaciones trigonométricas sobre números. Los valores que representan ángulos siempre se introducen o se obtienen en radianes. Utilizar $degreesToRadians y $radiansToDegrees para convertir entre mediciones de grados y radianes.

Nombre
Descripción

Devuelve el seno de un valor que se mide en radianes.

Devuelve el coseno de un valor medido en radianes.

Devuelve la tangente de un valor medido en radianes.

Devuelve el seno inverso (arcoseno) de un valor en radianes.

Devuelve el coseno inverso (arcocoseno) de un valor en radianes.

Devuelve el arcotangente (tangente inversa) de un valor en radianes.

Devuelve la tangente inversa (arcotangente) de y / x en radianes, donde y y x son el primer y el segundo valor que se pasan a la expresión respectivamente.

Devuelve el seno hiperbólico inverso (arcoseno hiperbólico) de un valor en radianes.

Devuelve el coseno hiperbólico inverso (arco coseno hiperbólico) de un valor en radianes.

Devuelve el arcotangente hiperbólico inverso (arcotangente hiperbólico) de un valor en radianes.

Devuelve el seno hiperbólico de un valor medido en radianes.

Devuelve el coseno hiperbólico de un valor medido en radianes.

Devuelve la tangente hiperbólica de un valor medido en radianes.

Convierte un valor de grados a radianes.

Convierte un valor de radianes a grados.

Nombre
Descripción

Convierte un valor a un tipo especificado.

Devuelve un valor booleano true si la expresión especificada se resuelve en un integer, decimal, double, o long.

Devuelve un valor booleano false si la expresión se resuelve en cualquier otro tipo BSON, null, o si falta un campo.

Convierte el valor a un booleano.

Convierte el valor a una Fecha.

Convierte el valor a un Decimal128.

Convierte el valor a un double.

Convierte el valor a un entero.

Convierte el valor a un entero largo.

Convierte el valor a un ObjectId.

Convierte el valor a una string.

Devolver el tipo de dato BSON del campo.

Operadores acumuladores de agregación:

Modificado en la versión 5.0.

Nombre
Descripción

Devuelve el resultado de una función de acumulador definida por el usuario.

Devuelve un arreglo de valores de expresión únicos para cada grupo. El orden de los elementos del arreglo es indefinido.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve un promedio de valores numéricos. Ignora los valores no numéricos.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve el elemento más bajo dentro de un grupo según el orden de acomodo especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Devuelve una agregación de los campos n inferiores dentro de un grupo, según el orden de clasificación especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Devuelve la cantidad de documentos en un grupo.

Distinto de la etapa de canalización de $count.

Novedades en la versión 5.0: Disponible en las $group y $setWindowFields etapas.

Devuelve un valor del primer documento de cada grupo. El orden solo se define si los documentos están ordenados.

Distinto del $first operador de matriz.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve una agregación de los primeros elementos den dentro de un grupo. Solo es significativo cuando los documentos están en un orden definido. Distinto del operador de arreglo $firstN.

Novedad en la versión 5.2: disponible en el $group, expresión y etapas $setWindowFields.

Devuelve un valor del último documento de cada grupo. El orden solo se define si los documentos están ordenados.

Distinto del $last operador de matriz.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve una agregación de los últimos elementos n dentro de un grupo. Solo es significativo cuando los documentos están en un orden definido. Distinto del operador de arreglo $lastN.

Novedad en la versión 5.2: disponible en el $group, expresión y etapas $setWindowFields.

Devuelve el valor de la expresión más alto para cada grupo.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve una agregación de los elementos n con el valor máximo en un grupo. Distinto del operador de arreglo $maxN.

Nuevo en la versión 5.2.

Disponible en $group, $setWindowFields y como una expresión.

Devuelve un documento creado al combinar los documentos de entrada para cada grupo.

Devuelve el valor de la expresión más bajo para cada grupo.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve una agregación de los n elementos de menor valor en un grupo. Distinto del operador de arreglo $minN.

Nuevo en la versión 5.2.

Disponible en $group, $setWindowFields y como una expresión.

Devuelve un arreglo de valores de expresión para los documentos en cada grupo.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la desviación estándar poblacional de los valores de entrada.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la desviación estándar muestral de los valores de entrada.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la suma de valores numéricos. Ignora los valores no numéricos.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve el elemento principal dentro de un grupo según el orden de acomodo especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Devuelve una agregación de los campos n principales dentro de un grupo, según el orden de clasificación especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Algunos operadores disponibles como acumuladores para la etapa también se pueden usar en otras etapas, pero no como acumuladores. Al usarse en estas otras etapas, estos operadores no conservan su estado y pueden tomar como entrada uno o varios argumentos. Para más detalles, consulte la página del operador $group específico.

Modificado en la versión 5.0.

Los siguientes operadores acumuladores también están disponibles en las etapas,, y, a partir de $project $addFields$setMongoDB.,.50 $setWindowFields

Nombre
Descripción

Devuelve un promedio de la expresión o lista de expresiones especificada para cada documento. Ignora los valores no numéricos.

Devuelve el máximo de la expresión o lista de expresiones especificadas para cada documento

Devuelve el mínimo de la expresión o lista de expresiones especificadas para cada documento

Devuelve la desviación estándar poblacional de los valores de entrada.

Devuelve la desviación estándar muestral de los valores de entrada.

Devuelve la suma de valores numéricos. Ignora los valores no numéricos.

Nombre
Descripción

Define variables para su uso dentro del alcance de una subexpresión y devuelve el resultado de la subexpresión. Acepta parámetros nombrados.

Acepta cualquier cantidad de expresiones de argumentos.

Nuevo en la versión 5.0.

Los operadores de ventana devuelven valores de un intervalo definido de documentos de una colección, conocido como una ventana. Una ventana se define en la etapa $setWindowFields, disponible a partir de MongoDB 5.0.

Los siguientes operadores de ventana están disponibles en la etapa $setWindowFields.

Nombre
Descripción

Devuelve un arreglo de todos los valores únicos que resultan de aplicar una expresión a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve el promedio de la expresión especificada. Ignora los valores no numéricos.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve el elemento más bajo dentro de un grupo según el orden de acomodo especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Devuelve una agregación de los campos n inferiores dentro de un grupo, según el orden de clasificación especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Devuelve la cantidad de documentos en el grupo o ventana.

Distinto de la etapa de canalización de $count.

Nuevo en la versión 5.0.

Devuelve la covarianza poblacional de dos expresiones numéricas.

Nuevo en la versión 5.0.

Devuelve la covarianza muestral de dos expresiones numéricas.

Nuevo en la versión 5.0.

Devuelve la posición del documento (conocida como el rango) en relación con otros documentos en la etapa de partición $setWindowFields . No hay vacíos en las filas. Los empates reciben la misma clasificación.

Nuevo en la versión 5.0.

Devuelve la tasa promedio de cambio dentro de la ventana especificada.

Nuevo en la versión 5.0.

Devuelve la posición de un documento (conocido como número de documento) en la etapa de partición $setWindowFields . Los empates resultan en diferentes números de documentos adyacentes.

Nuevo en la versión 5.0.

Devuelve el valor resultante de aplicar una expresión al primer documento de un grupo o ventana.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la aproximación del área bajo una curva.

Nuevo en la versión 5.0.

Devuelve el valor que resulta de aplicar una expresión al último documento de un grupo o ventana.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Completa null y los campos faltantes en una ventana usando interpolación lineal basada en los valores de los campos circundantes.

Disponible en la etapa $setWindowFields.

Novedades en la versión 5.3.

Última observación llevada hacia adelante. Establece los valores para null y los campos ausentes en una ventana al último valor no nulo del campo.

Disponible en la etapa $setWindowFields.

Nuevo en la versión 5.2.

Devuelve el valor máximo que resulta de aplicar una expresión a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve el valor mínimo que resulta de aplicar una expresión a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve una agregación de los n elementos de menor valor en un grupo. Distinto del operador de arreglo $minN.

Nuevo en la versión 5.2.

Disponible en $group, $setWindowFields y como una expresión.

Devuelve un arreglo de valores que resultan de aplicar una expresión a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la posición del documento (conocida como rango) en relación con otros documentos en la partición de la etapa $setWindowFields .

Nuevo en la versión 5.0.

Devuelve el valor de una expresión aplicada a un documento en una posición especificada relativa al documento actual en la partición de la etapa de $setWindowFields .

Nuevo en la versión 5.0.

Devuelve la desviación estándar de la población que resulta de aplicar una expresión numérica a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la desviación estándar de la muestra que resulta de aplicar una expresión numérica a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve la suma que resulta de aplicar una expresión numérica a cada documento.

Se cambió en la versión 5.0: disponible en la etapa $setWindowFields.

Devuelve el elemento principal dentro de un grupo según el orden de acomodo especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Devuelve una agregación de los campos n principales dentro de un grupo, según el orden de clasificación especificado.

Nuevo en la versión 5.2.

Disponible en las etapas $group y $setWindowFields.

Nombre
Descripción

Devuelve el valor absoluto de un número.

Devuelve el resultado de una función de acumulador definida por el usuario.

Devuelve el coseno inverso (arcocoseno) de un valor en radianes.

Devuelve el coseno hiperbólico inverso (arco coseno hiperbólico) de un valor en radianes.

Añade números para devolver la suma, o añade números y una fecha para devolver una nueva fecha. Si se añaden números y una fecha, se tratan los números como milisegundos. Acepta cualquier cantidad de expresiones de argumento, pero como máximo, una expresión puede resolverse en una fecha.

Devuelve un arreglo de valores de expresión únicos para cada grupo. El orden de los elementos del arreglo es indefinido.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Devuelve true si ningún elemento de un conjunto se evalúa como false; de lo contrario, devuelve false. Acepta una expresión con un único argumento.

Devuelve true solo cuando todas sus expresiones se evalúan a true. Acepta cualquier cantidad de expresiones de argumentos.

Devuelve true si algún elemento de un conjunto se evalúa como true; de lo contrario, devuelve false. Acepta una expresión con un único argumento.

Devuelve el elemento en el índice especificado del arreglo.

Convierte un arreglo de pares clave-valor en un documento.

Devuelve el seno inverso (arcoseno) de un valor en radianes.

Devuelve el seno hiperbólico inverso (arcoseno hiperbólico) de un valor en radianes.

Devuelve el arcotangente (tangente inversa) de un valor en radianes.

Devuelve la tangente inversa (arcotangente) de y / x en radianes, donde y y x son el primer y el segundo valor que se pasan a la expresión respectivamente.

Devuelve el arcotangente hiperbólico inverso (arcotangente hiperbólico) de un valor en radianes.

Devuelve un promedio de valores numéricos. Ignora los valores no numéricos.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Devuelve el tamaño del contenido de una string o un valor de datos binario dado en bytes.

Nuevo en la versión 4.4.

Devuelve el elemento más bajo dentro de un grupo según el orden de acomodo especificado.

Nuevo en la versión 5.2.

Disponible en $group etapas $setWindowFields y.

Devuelve una agregación de los campos n inferiores dentro de un grupo, según el orden de clasificación especificado.

Nuevo en la versión 5.2.

Disponible en $group etapas $setWindowFields y.

Devuelve el tamaño en bytes de un documento dado (es decir, bsontype Object) cuando se codifica como BSON.

Nuevo en la versión 4.4.

Devuelve el menor número entero que sea mayor o igual al número especificado.

Devuelve: 0 si los dos valores son equivalentes, 1 si el primer valor es mayor que el segundo y -1 si el primer valor es menor que el segundo.

Concatena cualquier cantidad de strings.

Concatena arreglos para devolver el arreglo concatenado.

Un operador ternario que evalúa una expresión y, dependiendo del resultado, devuelve el valor de una de las otras dos expresiones. Acepta tres expresiones en una lista ordenada o tres parámetros nombrados.

Convierte un valor a un tipo especificado.

Devuelve el coseno de un valor medido en radianes.

Devuelve el coseno hiperbólico de un valor medido en radianes.

Devuelve la cantidad de documentos en el grupo o ventana.

Novedad 5.0 en la versión: Disponible en $group las etapas $setWindowFields y.

Distinto de la etapa de canalización de $count.

Devuelve la covarianza poblacional de dos expresiones numéricas.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Devuelve la covarianza muestral de dos expresiones numéricas.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Añade un número de unidades de tiempo a un objeto de fecha.

Devuelve la diferencia entre dos fechas.

Construye un objeto de fecha BSON a partir de las partes constituyentes de la fecha.

Resta un número de unidades de tiempo de un objeto de fecha.

Trunca una fecha.

Devuelve un documento que contiene los componentes de una fecha.

Devuelve una fecha/hora como un objeto de fecha.

Devuelve la fecha como una string formateada.

Devuelve el día del mes de una fecha como un número entre 1 y 31.

Devuelve el día de la semana para una fecha como un número entre 1 (domingo) y 7 (sábado).

Devuelve el día del año de una fecha como un número entre 1 y 366 (año bisiesto).

Convierte un valor de grados a radianes.

Devuelve la posición relativa de un documento ordenado. No hay espacios en las posiciones.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Devuelve la tasa promedio de cambio dentro de la ventana especificada.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Devuelve el resultado de dividir el primer número por el segundo. Acepta expresiones con dos argumentos.

Devuelve la posición de un documento (conocido como número de documento) en la partición.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Devuelve true si los valores son equivalentes.

Eleva e al exponente especificado.

Selecciona un subconjunto del arreglo para devolver un arreglo que contenga únicamente los elementos que cumplen con la condición del filtro.

Devuelve un valor del primer documento de cada grupo. El orden solo se define si los documentos están ordenados.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Distinto del $first operador de matriz.

Devuelve el primer elemento de la matriz.

Nuevo en la versión 4.4.

Distinto del acumulador $first.

Devuelve un número especificado de elementos desde el inicio de un arreglo. Distinto del acumulador $firstN.

Nuevo en la versión 5.2.

Devuelve una agregación de los primeros n campos de un grupo. Solo tiene sentido cuando los documentos están en un orden definido. Es distinto del $firstN operador de matriz.

Nuevo en la versión 5.2.

Disponible $group en, expresión y $setWindowFields etapas.

Devuelve el mayor número entero que sea menor o igual al número especificado.

Define una función de agregación personalizada.

Nuevo en la versión 4.4.

Devuelve el valor de un campo especificado de un documento. Se puede usar $getField para recuperar el valor de los campos cuyos nombres contienen puntos (.) o comienzan con signos de dólar ($).

Devuelve true si el primer valor es mayor que el segundo.

Devuelve true si el primer valor es mayor o igual que el segundo.

Devuelve la hora de una fecha como un número entre 0 y 23.

Devuelve el resultado no nulo de la primera expresión o el resultado de la segunda expresión si la primera expresión da como resultado un valor nulo. El resultado nulo abarca instancias de valores indefinidos o campos ausentes. Acepta dos expresiones como argumentos. El resultado de la segunda expresión puede ser nulo.

Devuelve un valor booleano que indica si un valor especificado está en un arreglo.

Busca en un arreglo una ocurrencia de un valor especificado y devuelve el índice de la primera ocurrencia. Si no se encuentra la substring, devuelve -1.

Realiza una búsqueda en una string de una ocurrencia de una substring y devuelve el índice de bytes UTF-8 de la primera ocurrencia. Si no se encuentra la substring, devuelve -1.

Busca una subcadena en una cadena y devuelve el índice de punto de código UTF-8 de la primera aparición. Si no se encuentra la subcadena, devuelve -1.

Devuelve la aproximación del área bajo una curva.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Determina si el operando es un arreglo. Devuelve un valor booleano.

Determina si la expresión se resuelve en un entero, doble, decimal o largo.

Devuelve el número del día de la semana en formato ISO 8601, que va del 1 (lunes) al 7 (domingo).

Devuelve el número de la semana en formato ISO 8601, con un rango de 1 a 53. Los números de las semanas comienzan en 1 con la semana (de lunes a domingo) que contiene el primer jueves del año.

Devuelve el número del año en formato ISO 8601. El año comienza con el lunes de la semana 1 (ISO 8601) y termina con el domingo de la última semana (ISO 8601).

Devuelve un valor del último documento de cada grupo. El orden solo se define si los documentos están ordenados.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Distinto del $last operador de matriz.

Devuelve el último elemento del arreglo.

Nuevo en la versión 4.4.

Distinto del acumulador $last.

Devuelve un número especificado de elementos desde el final de un arreglo. Distinto del acumulador $lastN.

Nuevo en la versión 5.2.

Devuelve una agregación de los últimos n campos de un grupo. Solo tiene sentido cuando los documentos están en un orden definido. Es distinto del $lastN operador de matriz.

Nuevo en la versión 5.2.

Disponible $group en, expresión y $setWindowFields etapas.

Define variables para su uso dentro del alcance de una subexpresión y devuelve el resultado de la subexpresión. Acepta parámetros nombrados.

Acepta cualquier cantidad de expresiones de argumentos.

Completa null y los campos faltantes en una ventana usando interpolación lineal basada en los valores de los campos circundantes.

Novedades en la versión 5.3.

Devuelve un valor sin analizar. Úselo para valores que la canalización de agregación pueda interpretar como una expresión. Por ejemplo, use una expresión para una cadena que comience $literal por $ para evitar que se analice como una ruta de campo.

Calcula el registro natural de un número.

Última observación llevada hacia adelante. Establece los valores para null y los campos ausentes en una ventana al último valor no nulo del campo.

Nuevo en la versión 5.2.

Calcula el registro de un número en la base especificada.

Calcula el registro en base diez de un número.

Devuelve true si el primer valor es menor que el segundo.

Devuelve true si el primer valor es menor que o igual al segundo.

Elimina los espacios en blanco o los caracteres especificados del inicio de una string.

Aplica una subexpresión a cada elemento de un arreglo y devuelve el arreglo de los valores resultantes en el mismo orden. Acepta parámetros con nombre.

Devuelve el valor de la expresión más alto para cada grupo.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Devuelve los valores más grandes de n en un arreglo. Distinto del acumulador $maxN.

Nuevo en la versión 5.2.

Devuelve una agregación de los elementos n con el valor máximo en un grupo. Distinto del operador de arreglo $maxN.

Novedad en la 5.2 versión: Disponible $group en, y$setWindowFields como expresión.

Combina múltiples documentos en un único documento.

Acceder a los metadatos disponibles por documento relacionados con la operación de agregación.

Devuelve el valor de la expresión más bajo para cada grupo.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Devuelve los n valores más pequeños en un arreglo. Distinto del acumulador $minN.

Nuevo en la versión 5.2.

Devuelve una agregación de los n elementos de menor valor en un grupo. Distinto del operador de arreglo $minN.

Novedad en la 5.2 versión: Disponible $group en, y$setWindowFields como expresión.

Devuelve los milisegundos de una fecha como un número entre 0 y 999.

Devuelve el minuto de una fecha como un número entre 0 y 59.

Devuelve el resto del primer número dividido por el segundo. Acepta expresiones con dos argumentos.

Devuelve el mes de una fecha como un número entre 1 (enero) y 12 (diciembre).

Multiplica números para devolver el producto. Acepta cualquier cantidad de expresiones de argumentos.

Devuelve true si los valores no son equivalentes.

Devuelve el valor booleano que es el opuesto de su expresión de argumento. Acepta una expresión de argumento único.

Convierte un documento en un arreglo de documentos que representan pares clave-valor.

Devuelve true cuando alguna de sus expresiones se evalúa como true. Acepta cualquier cantidad de expresiones de argumentos.

Eleva un número al exponente especificado.

Devuelve un arreglo de valores de expresión para los documentos en cada grupo.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Convierte un valor de radianes a grados.

Devuelve un flotante aleatorio entre 0 y 1.

Genera un arreglo que contiene una secuencia de números enteros según las entradas definidas por el usuario.

Devuelve la posición del documento (conocida como rango) en relación con otros documentos ordenados.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Aplica una expresión a cada elemento de un arreglo y los combina en un solo valor.

Aplica una expresión regular (regex) a una string y devuelve información sobre la primera substring coincidente.

Aplica una expresión regular (regex) a un string y devuelve información sobre todas las subcadenas coincidentes.

Aplica una expresión regular (regex) a una string y devuelve un valor booleano que indica si se ha encontrado una coincidencia o no.

Reemplaza la primera instancia de una string coincidente en una entrada dada.

Nuevo en la versión 4.4.

Reemplaza todas las instancias de una string coincidente en una entrada dada.

Nuevo en la versión 4.4.

Devuelve un arreglo con los elementos en orden inverso.

Redondea un número a un número entero o a un decimal especificado.

Remueve los espacios en blanco o los caracteres especificados del final de una string.

Se pueden seleccionar documentos aleatoriamente a una tasa determinada. Aunque el número exacto de documentos seleccionados varía en cada ejecución, la cantidad elegida se aproxima a la tasa de muestreo expresada como un porcentaje del número total de documentos.

Devuelve los segundos de una fecha como un número entre 0 y 60 (segundos intercalares).

Devuelve un conjunto con elementos que aparecen en el primer conjunto pero no en el segundo; es decir, realiza un complemento relativo del segundo conjunto con respecto al primero. Acepta exactamente dos expresiones de argumentos.

Devuelve true si los conjuntos de entrada tienen los mismos elementos únicos. Acepta dos o más expresiones de argumentos.

Añade, actualiza o remueve un campo especificado en un documento. Puede usar $setField para añadir, actualizar o remover campos con nombres que contengan puntos (.) o comiencen con signos de dólar ($).

Nuevo en la versión 5.0.

Devuelve un conjunto con elementos que aparecen en todos los conjuntos de entrada. Acepta cualquier cantidad de expresiones de argumentos.

Devuelve true si todos los elementos del primer conjunto aparecen en el segundo conjunto, incluso cuando el primer conjunto es igual al segundo conjunto; es decir, no es un subconjunto estricto. Acepta exactamente dos expresiones de argumentos.

Devuelve un conjunto con los elementos que aparecen en cualquiera de los conjuntos de entrada.

Devuelve el valor de una expresión aplicada a un documento en una posición especificada en relación con el documento actual en la salida.

Novedad 5.0 en la versión: Disponible en la $setWindowFields etapa.

Devuelve el número de elementos en el arreglo. Acepta una sola expresión como argumento.

Devuelve el seno de un valor que se mide en radianes.

Devuelve el seno hiperbólico de un valor medido en radianes.

Devuelve un subconjunto de un arreglo.

Ordena una matriz según sus elementos.

Crea una división de una string en substrings basándose en un delimitador. Devuelve un arreglo de substrings. Si el delimitador no se encuentra dentro de la string, devuelve un arreglo que contiene la string original.

Calcula la raíz cuadrada.

Devuelve la desviación estándar poblacional de los valores de entrada.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Devuelve la desviación estándar muestral de los valores de entrada.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Realiza una comparación de strings sin distinguir entre mayúsculas y minúsculas y devuelve: 0 si dos strings son equivalentes, 1 si la primera string es mayor que la segunda y -1 si la primera string es menor que la segunda.

Devuelve el número de bytes codificados en UTF-8 en una string.

Devuelve el número de puntos de código UTF-8 en una string.

Obsoleto Se puede utilizar $substrBytes o $substrCP.

Devuelve la substring de una string. Comienza con el carácter en el índice de bytes UTF-8 especificado (base cero) en la string y continúa durante el número de bytes especificado.

Devuelve la substring de una string. Comienza en el carácter del índice especificado del punto de código (CP) UTF-8 (con el índice basado en cero) dentro de la string y continúa durante el número de puntos de código especificado.

Devuelve el resultado de restar el segundo valor del primero. Si los dos valores son números, se devuelve la diferencia. Si los dos valores son fechas, se devuelve la diferencia en milisegundos. Si los dos valores son una fecha y un número en milisegundos, se devuelve la fecha resultante. Acepta expresiones con dos argumentos. Si los dos valores son una fecha y un número, especifique primero el argumento de la fecha, ya que no tiene sentido restar una fecha de un número.

Devuelve la suma de valores numéricos. Ignora los valores no numéricos.

Cambiado en la 5.0 versión: Disponible en la $setWindowFields etapa.

Evalúa una serie de expresiones de casos. Cuando encuentra una expresión que se evalúa como true, $switch ejecuta una expresión especificada y sale del flujo de control.

Devuelve la tangente de un valor medido en radianes.

Devuelve la tangente hiperbólica de un valor medido en radianes.

Convierte el valor a un booleano.

Convierte el valor a una Fecha.

Convierte el valor a un Decimal128.

Convierte el valor a un double.

Convierte el valor a un entero.

Convierte el valor a un entero largo.

Convierte el valor a un ObjectId.

Devuelve el elemento principal dentro de un grupo según el orden de acomodo especificado.

Nuevo en la versión 5.2.

Disponible en $group etapas $setWindowFields y.

Devuelve una agregación de los campos n principales dentro de un grupo, según el orden de clasificación especificado.

Nuevo en la versión 5.2.

Disponible en $group etapas $setWindowFields y.

Convierte el valor a una string.

Convierte una string a minúsculas. Acepta una expresión con un único argumento.

Convierte una string a mayúsculas. Acepta una expresión con un único argumento.

Remueve los espacios en blanco o los caracteres especificados del principio y el final de una string.

Trunca un número a un número entero o a un lugar decimal especificado.

Devuelve el ordinal incremental de una marca de tiempo como un long.

Nuevo en la versión 5.1.

Devuelve los segundos de una marca de tiempo como un long.

Nuevo en la versión 5.1.

Devolver el tipo de dato BSON del campo.

Elimina un campo especificado de un documento. Un alias $setField .$de elimina campos cuyos nombres contengan puntos () o empiecen por el signo de dólar ().

Nuevo en la versión 5.0.

Devuelve el número de semana de una fecha como un número entre 0 (la semana parcial que precede al primer domingo del año) y 53 (en un año bisiesto).

Devuelve el año de una fecha como un número (por ejemplo, 2014).

Fusionar dos arreglos.

Para conocer las etapas de la canalización, consulte Etapas de la canalización de agregación.

Volver

$vectorSearch