Operadores

Los operadores del lenguaje de consulta mongoDB (MQL) permiten un filtrado, una comparación y una manipulación de datos eficaces dentro de las consultas. Dominar estos operadores le ayuda a escribir consultas expresivas para recuperar y actualizar documentos de forma eficaz en las colecciones.

Acumuladores

Los operadores de acumulador se usan en canalizaciones de agregación para realizar cálculos en datos agrupados.

Description
$avg El operador $avg calcula el promedio de valores numéricos para los documentos de un grupo, cubo o ventana.
$bottom El operador $bottom devuelve el último documento del conjunto de resultados de la consulta ordenado por uno o varios campos.
$bottomN El operador $bottomN devuelve los últimos documentos N del resultado ordenados por uno o varios campos.
$count El $count operador se usa para contar el número de documentos que coinciden con los criterios de filtrado de consultas.
$first El operador $first devuelve el primer valor de un grupo según el criterio de ordenación del grupo.
$firstN El operador $firstN ordena documentos en uno o varios campos especificados por la consulta y devuelve el primer documento N que coincide con los criterios de filtrado.
$last El operador $last devuelve el último documento del resultado ordenado por uno o varios campos
$lastN El operador $lastN acumulador devuelve los últimos valores N de un grupo de documentos.
$max El operador $max devuelve el valor máximo de un conjunto de valores de entrada.
$maxN El $maxN opertor recupera los valores N principales en función de los criterios de filtrado especificados.
$median El operador $median calcula el valor medio de un campo numérico en un grupo de documentos.
$min El operador $min recupera el valor mínimo de un campo especificado.
$minN El operador $minN recupera los valores N inferiores en función de los criterios de filtrado especificados.
$percentile El operador $percentile calcula el percentil de valores numéricos que coinciden con los criterios de filtrado.
$stddevpop El operador $stddevpop calcula la desviación estándar de los valores especificados.
$stddevsamp El operador $stddevsamp calcula la desviación estándar de una muestra especificada de valores y no toda la población
$sum El operador $sum calcula la suma de los valores de un campo en función de los criterios de filtrado.
$top El operador $top devuelve el primer documento del conjunto de resultados ordenado por uno o varios campos.
$topN El operador $topN devuelve los primeros documentos N del resultado ordenados por uno o varios campos.

Aggregation

Los operadores de agregación se usan para realizar operaciones en datos agrupados en canalizaciones de agregación.

Description
$addFields La fase $addFields de la canalización de agregación se usa para agregar nuevos campos a los documentos.
$bucket El operador $bucket agrupa documentos de entrada en cubos en función de los límites especificados.
$changeStream La fase $changeStream abre un cursor de flujo de cambios para realizar un seguimiento de los cambios de datos en tiempo real.
$collStats La fase $collStats de la canalización de agregación se usa para devolver estadísticas sobre una colección.
$convert El operador $convert convierte una expresión en el tipo especificado.
$densify El operador $densify agrega puntos de datos que faltan en una secuencia de valores dentro de una matriz o colección.
$documents La fase $documents crea una canalización a partir de un conjunto de documentos proporcionados.
$facet El $facet permite ejecutar varias agregaciones paralelas dentro de una sola fase de canalización.
$fill La fase de $fill permite rellenar los valores que faltan en documentos en función de los métodos y criterios especificados.
$geoNear El operador $geoNear busca y ordena documentos por su proximidad a un punto geoespacial, devolviendo información de distancia para cada documento.
$group La $group fase agrupa documentos por expresiones de identificador especificadas y aplica expresiones de acumulador.
$indexStats La fase $indexStats devuelve estadísticas de uso para cada índice de la colección.
$isNumber El operador $isNumber comprueba si una expresión especificada es un tipo numérico.
$lookup La fase $lookup del marco de agregación se usa para realizar combinaciones externas izquierdas con otras colecciones.
$match La fase $match de la canalización de agregación se usa para filtrar documentos que coincidan con una condición especificada.
$merge La fase $merge de una canalización de agregación escribe los resultados de la agregación en una colección especificada.
$out La $out fase de una canalización de agregación escribe los documentos resultantes en una colección especificada.
$redact El operador $redact filtra el contenido de los documentos en función de los derechos de acceso.
$replaceWith El operador $replaceWith de DocumentDB devuelve un documento después de reemplazar un documento por el documento especificado.
$sample El operador $sample de DocumentDB devuelve un número seleccionado aleatoriamente de documentos.
$set El operador $set en DocumentDB actualiza o crea un nuevo campo con un valor especificado.
$skip La fase $skip de la canalización de agregación se usa para omitir un número especificado de documentos de la entrada y pasar los documentos restantes a la siguiente fase de la canalización.
$sort La fase $sort de la canalización de agregación se usa para ordenar los documentos de la canalización por un campo o campos especificados.
$sortByCount La fase $sortByCount de la cadena de agregación se utiliza para agrupar documentos según una expresión especificada y, a continuación, ordenar el recuento de documentos de cada grupo de la Z a la A.
$toBool El operador $toBool convierte una expresión en un tipo booleano
$toDate El operador $toDate convierte los tipos admitidos en un objeto Date adecuado.
$toDecimal El operador $toDecimal convierte una expresión en un tipo Decimal.
$toDouble El operador $toDouble convierte una expresión en un valor Double
$toInt El operador $toInt convierte una expresión en un entero
$toLong El operador $toLong convierte una expresión en un valor Long
$toObjectId El operador $toObjectId convierte una expresión en un ObjectId
$toString El operador $toString convierte una expresión en una cadena
$unset La fase $unset de la canalización de agregación se usa para quitar los campos especificados de los documentos.
$unwind La fase $unwind del marco de agregación se usa para deconstruir un campo de matriz de los documentos de entrada para generar un documento para cada elemento.

Expresión aritmética

Los operadores de expresiones aritméticas realizan operaciones matemáticas en valores numéricos.

Description
$abs El operador $abs devuelve el valor absoluto de un número.
$add El operador $add devuelve la suma de dos números o la suma de una fecha y números.
$ceil El operador $ceil devuelve el entero más pequeño mayor o igual que el número especificado.
$divide El operador $divide divide dos números y devuelve el cociente.
$exp El operador $exp eleva e a la potencia especificada y devuelve el resultado.
$floor El operador $floor devuelve el entero más grande menor o igual que el número especificado.
$ln El operador $ln calcula el logaritmo natural de la entrada.
$log El operador $log calcula el logaritmo de un número en la base especificada.
$log10 El operador $log 10 calcula el registro de un número especificado en base 10.
$multiply El operador $multiply multiplica los valores numéricos de entrada
$pow El $pow operador calcula el valor de un valor numérico elevado a la potencia de un exponente especificado.
$round El operador $round redondea un número a una posición decimal especificada.
$sqrt El operador $sqrt calcula y devuelve la raíz cuadrada de un número de entrada.
$subtract El operador $subtract resta dos números y devuelve el resultado.
$trunc El operador $trunc trunca un número en una posición decimal especificada.
Index

Expresión de matriz

Los operadores de expresiones de matriz realizan operaciones en matrices y elementos de matriz.

Description
$arrayElemAt El $arrayElemAt devuelve el elemento en el índice de matriz especificado.
$arrayToObject El $arrayToObject permite convertir una matriz en un solo documento.
$concatArrays El $concatArrays se usa para combinar varias matrices en una sola matriz.
$filter El operador $filter filtra los elementos de una matriz en función de una condición especificada.
$indexOfArray El operador $indexOfArray se usa para buscar un elemento en una matriz y devolver el índice de la primera aparición del elemento.
$isArray El operador $isArray se usa para determinar si un valor especificado es una matriz.
$map El operador $map permite aplicar una expresión a cada elemento de una matriz.
$range El operador $range permite generar una matriz de enteros secuenciales.
$reduce El operador $reduce aplica una expresión a cada elemento de una matriz y acumula el resultado como valor único.
$reverseArray El operador $reverseArray se usa para invertir el orden de los elementos de una matriz.
$slice El operador $slice devuelve un subconjunto de una matriz desde cualquier elemento en adelante en la matriz.
$sortArray El operador $sortArray ayuda a ordenar los elementos de una matriz.
$zip El operador $zip permite combinar dos o más matrices en una sola matriz o matrices.

Consulta de matriz

Los operadores de consulta de matriz se usan para consultar y filtrar elementos de matriz.

Description
$all El operador $all ayuda a buscar documentos de matriz que coincidan con todos los elementos.
$elemMatch El operador $elemMatch devuelve una matriz completa, que califica los criterios con al menos un elemento de matriz coincidente.
$size El operador $size se usa para consultar documentos en los que un campo de matriz tiene un número especificado de elementos.

Actualización de matriz

Los operadores de actualización de matriz se usan para modificar los elementos y la estructura de la matriz.

Description
$ El operador $ positional identifica un elemento de una matriz que se va a actualizar sin especificar explícitamente la posición del elemento en la matriz.
$addToSet El operador addToSet agrega elementos a una matriz si aún no existen, a la vez que garantiza la unicidad de los elementos dentro del conjunto.
$each El operador $each se usa dentro de una $addToSet operación o $push para agregar varios elementos a un campo de matriz en una sola operación de actualización.
$pop El operador $pop quita el primer o último elemento de una matriz.
$position El $position se usa para especificar la posición de la matriz donde se debe insertar un nuevo elemento.
$[] El operador $[] se usa para actualizar todos los elementos de una matriz que coincidan con la condición de consulta.
$[identifier] El operador $[identifier] se usa para actualizar todos los elementos mediante un identificador específico en una matriz que coincida con la condición de consulta.
$pull Quita todas las instancias de un valor de una matriz.
$pullAll El operador $pullAll se usa para quitar todas las instancias de los valores especificados de una matriz.
$push El operador $push agrega un valor especificado a una matriz dentro de un documento.

Bitwise

Los operadores bit a bit realizan operaciones en la representación binaria de números.

Description
$bitAnd El operador $bitAnd realiza una operación AND bit a bit en valores enteros y devuelve el resultado como un entero.
$bitNot El operador $bitNot realiza una operación NOT bit a bit en valores enteros y devuelve el resultado como un entero.
$bitOr El operador $bitOr realiza una operación OR bit a bit en valores enteros y devuelve el resultado como un entero.
$bitXor El operador $bitXor realiza una operación XOR bit a bit en valores enteros.

Consulta bit a bit

Los operadores de consulta bit a bit se usan para consultar y filtrar en función de las operaciones bit a bit.

Description
$bitsAllClear El operador $bitsAllClear se usa para buscar coincidencias con documentos donde todas las posiciones de bits especificadas en una máscara de bits están claras.
$bitsAllSet El comando bitsAllSet se usa para buscar coincidencias con documentos en los que se establecen todas las posiciones de bits especificadas.
$bitsAnyClear El operador $bitsAnyClear coincide con documentos donde cualquiera de las posiciones de bits especificadas en una máscara de bits está clara.
$bitsAnySet El operador $bitsAnySet devuelve documentos donde cualquiera de las posiciones de bits especificadas se establece en 1.

Actualización bit a bit

Los operadores de actualización bit a bit se usan para modificar valores mediante operaciones bit a bit.

Description
$bit El $bit operador se usa para realizar operaciones bit a bit en valores enteros.

Consulta de comparación

Los operadores de consulta de comparación se usan para comparar valores y crear expresiones booleanas.

Description
$cmp El operador $cmp compara dos valores
$eq El operador de consulta $eq compara el valor de un campo con un valor especificado.
$gt El operador de consulta $gt recupera documentos donde el valor de un campo es mayor que un valor especificado.
$gte El operador $gte recupera documentos donde el valor de un campo es mayor o igual que un valor especificado.
$in El operador $in coincide con el valor de un campo en una matriz de valores especificados.
$lt El operador $lt recupera documentos en los que el valor del campo es menor que un valor especificado.
$lte El operador $lte recupera documentos en los que el valor de un campo es menor o igual que un valor especificado.
$ne El operador $ne recupera documentos en los que el valor de un campo no es igual a un valor especificado.
$nin El operador $nin recupera documentos donde el valor de un campo no coincide con una lista de valores

Expresión condicional

Los operadores de expresiones condicionales proporcionan flujo de control y lógica condicional en expresiones.

Description
$cond El operador $cond se usa para evaluar una condición y devolver una de estas dos expresiones en función del resultado.
$ifNull El operador $ifNull se usa para evaluar una expresión y devolver un valor especificado si la expresión se resuelve en null.
$switch El operador $switch se usa para evaluar una serie de condiciones y devolver un valor basado en la primera condición que se evalúa como true.

Tamaño de datos

Los operadores de tamaño de datos se usan para determinar el tamaño de las estructuras y valores de datos.

Description
$binarySize El operador $binarySize se usa para devolver el tamaño de un campo de datos binario.
$bsonSize El operador $bsonSize devuelve el tamaño de un documento en bytes cuando se codifica como BSON.

Expresión de fecha

Los operadores de expresiones de fecha realizan operaciones en valores de fecha y hora.

Description
$dateAdd El operador $dateAdd agrega un número especificado de unidades de tiempo (día, hora, mes, etc.) a una fecha.
$dateDiff El operador $dateDiff calcula la diferencia entre dos fechas en varias unidades, como años, meses, días, etc.
$dateFromParts El operador $dateFromParts construye una fecha a partir de componentes individuales.
$dateFromString El operador $dateDiff convierte una cadena de fecha y hora en un objeto date.
$dateSubtract El operador $dateSubtract resta una cantidad de tiempo especificada de una fecha.
$dateToParts El operador $dateToParts descompone una fecha en sus partes individuales, como año, mes, día, etc.
$dateToString El operador $dateToString convierte un objeto date en una cadena con formato.
$dateTrunc El operador $dateTrunc trunca una fecha en una unidad especificada.
$dayOfMonth El operador $dayOfMonth extrae el día del mes a partir de una fecha.
$dayOfWeek El operador $dayOfWeek extrae el día de la semana a partir de una fecha.
$dayOfYear El operador $dayOfYear extrae el día del año a partir de una fecha.
$hour El operador $hour devuelve la parte de hora de una fecha como un número comprendido entre 0 y 23.
$isoDayOfWeek El operador $isoDayOfWeek devuelve el número de día de la semana en formato ISO 8601, que oscila entre 1 (lunes) y 7 (domingo).
$isoWeek El operador $isoWeek devuelve el número de semana del año en formato ISO 8601, que oscila entre 1 y 53.
$isoWeekYear El operador $isoWeekYear devuelve el número de año en formato ISO 8601, que puede diferir del año natural para las fechas al principio o al final del año.
$millisecond El operador $millisecond extrae la parte de milisegundos de un valor de fecha.
$minute El operador $minute extrae la parte de minuto de un valor de fecha.
$month El operador $month extrae la parte del mes de un valor de fecha.
$second El operador $second extrae la parte de segundos de un valor de fecha.
$week El operador $week devuelve el número de semana de una fecha como un valor entre 0 y 53.
$year El operador $year devuelve el año de una fecha como un número de cuatro dígitos.

Consulta de elementos

Los operadores de consulta de elementos se usan para consultar elementos de documento en función de su existencia y tipo.

Description
$exists El operador $exists recupera documentos que contienen el campo especificado en su estructura de documentos.
$type El operador $type recupera documentos si el campo elegido es del tipo especificado.

Consulta de evaluación

Los operadores de consulta de evaluación se usan para evaluar expresiones y realizar operaciones dinámicas.

Description
$expr El operador $expr permite el uso de expresiones de agregación en el lenguaje de consulta, lo que permite comparaciones y cálculos complejos de campos.
$jsonSchema El operador $jsonSchema valida documentos con una definición de esquema JSON para la validación de datos y la aplicación de la estructura. Descubra las características y limitaciones admitidas.
$mod El operador $mod realiza una operación de módulo en el valor de un campo y selecciona documentos con un resultado especificado.
$regex El operador $regex proporciona funcionalidades de expresión regular para la coincidencia de patrones en consultas, lo que permite la búsqueda y coincidencia de cadenas flexibles.
$text El operador $text realiza la búsqueda de texto en el contenido de los campos de cadena indexados, lo que habilita las funcionalidades de búsqueda de texto completo.

Actualización de campo

Los operadores de actualización de campos se usan para modificar campos específicos en documentos durante las operaciones de actualización.

Description
$currentDate El operador $currentDate establece el valor de un campo en la fecha actual, ya sea como una fecha o una marca de tiempo.
$inc El operador $inc incrementa el valor de un campo por una cantidad especificada.
$mul El operador $mul multiplica el valor de un campo por un número especificado.
$rename El operador $rename permite cambiar el nombre de los campos de los documentos durante las operaciones de actualización.
$setOnInsert El operador $setOnInsert establece los valores de campo solo cuando una operación upsert da como resultado una inserción de un nuevo documento.

Geoespaciales

Los operadores geoespaciales realizan operaciones en datos geográficos y relaciones espaciales.

Description
$box El operador $box define un área rectangular para consultas geoespaciales mediante pares de coordenadas.
$center El operador $center especifica un círculo mediante pares de coordenadas heredadas para consultas $geoWithin.
$centerSphere El operador $centerSphere especifica un círculo mediante geometría esférica para consultas de $geoWithin.
$geoIntersects El operador $geoIntersects selecciona documentos cuyo campo de ubicación se intersecta con un objeto GeoJSON especificado.
$geometry El operador $geometry especifica una geometría GeoJSON para consultas geoespaciales.
$geoWithin El operador $geoWithin selecciona documentos cuyo campo de ubicación está completamente dentro de una geometría especificada.
$maxDistance El operador $maxDistance especifica la distancia máxima que puede existir entre dos puntos en una consulta geoespacial.
$minDistance El operador $minDistance especifica la distancia mínima que debe existir entre dos puntos en una consulta geoespacial.
$near El operador $near devuelve documentos con campos de ubicación que están cerca de un punto especificado, ordenados por distancia.
$nearSphere El operador $nearSphere devuelve documentos cuyos campos de ubicación están cerca de un punto especificado en una esfera, ordenados por distancia en una superficie esférica.
$polygon El operador $polygon define un polígono para consultas geoespaciales, lo que le permite encontrar ubicaciones dentro de una forma irregular.

Expresión literal

Los operadores de expresión literal se usan para representar valores literales en expresiones de agregación.

Description
$literal El operador $literal devuelve el valor especificado sin analizarlo como una expresión, lo que permite usar valores literales en canalizaciones de agregación.

Consulta lógica

Los operadores de consulta lógica combinan expresiones booleanas mediante operaciones lógicas.

Description
$and El operador $and combina varias cláusulas de consulta y devuelve documentos que coinciden con todas las condiciones especificadas.
$nor El operador $nor realiza un NOR lógico en una matriz de expresiones y recupera documentos que producen un error en todas las condiciones.
$not El operador $not realiza una operación NOT lógica en una expresión especificada, seleccionando documentos que no coinciden con la expresión.
$or El operador $or combina cláusulas de consulta con un OR lógico y devuelve documentos que coinciden con al menos una de las condiciones especificadas.

Varios

Los operadores varios incluyen varios operadores auxiliares y de utilidad que no encajan en otras categorías.

Description
$getField El operador $getField permite recuperar el valor de un campo especificado de un documento.
$sampleRate El operador $sampleRate muestra aleatoriamente documentos de una colección en función de una tasa de probabilidad especificada, útil para el análisis estadístico y las pruebas.

Consulta varios

Entre los operadores de consulta varios se incluyen varios operadores auxiliares y de utilidad para realizar consultas que no caben en otras categorías.

Description
$comment El operador $comment agrega un comentario a una consulta para ayudar a identificar la consulta en los registros y la salida del generador de perfiles.
$natural El operador $natural obliga a la consulta a usar el orden natural de los documentos de una colección, lo que proporciona control sobre la ordenación y recuperación de documentos.
$rand El operador $rand genera un valor float aleatorio entre 0 y 1.

Expresión de objeto

Los operadores de expresiones de objeto realizan operaciones en objetos y propiedades de objeto.

Description
$mergeObjects El operador $mergeObjects combina varios documentos en un único documento
$objectToArray El comando objectToArray se usa para transformar un documento (objeto) en una matriz de pares clave-valor.
$setField El comando setField se usa para agregar, actualizar o quitar campos en documentos incrustados.

Projection

Los operadores de proyección se usan para seleccionar y transformar campos en documentos.

Description
$meta El operador $meta devuelve una columna de metadatos calculada con el conjunto de datos devuelto.

Establecer expresión

Los operadores de expresión set realizan operaciones en conjuntos y matrices tratados como conjuntos.

Description
$allElementsTrue El operador $allElementsTrue devuelve true si todos los elementos de una matriz se evalúan como true.
$anyElementTrue El operador $anyElementTrue devuelve true si algún elemento de una matriz se evalúa como un valor true.
$setDifference El operador $setDifference devuelve un conjunto con elementos que existen en un conjunto, pero no en un segundo conjunto.
$setEquals El operador $setEquals devuelve true si dos conjuntos tienen los mismos elementos distintos.
$setIntersection El operador $setIntersection devuelve los elementos comunes que aparecen en todas las matrices de entrada.
$setIsSubset El operador $setIsSubset determina si una matriz es un subconjunto de una segunda matriz.
$setUnion El operador $setUnion devuelve una matriz que contiene todos los elementos únicos de las matrices de entrada.

Expresión de marca de tiempo

Los operadores de expresiones de marca de tiempo realizan operaciones en valores de marca de tiempo.

Description
$tsIncrement El operador $tsIncrement extrae la parte de incremento de un valor de marca de tiempo.
$tsSecond El operador $tsSecond extrae la parte de segundos de un valor de marca de tiempo.

Expresión de variable

Los operadores de expresiones variables se usan para definir y hacer referencia a variables en expresiones.

Description
$let El operador $let permite definir variables para su uso en una expresión especificada, lo que permite cálculos complejos y reduce la repetición de código.

Operadores de ventana

Los operadores de ventana realizan cálculos en un conjunto de documentos en una ventana especificada.

Description
$covariancePop El operador $covariancePop devuelve la covarianza de dos expresiones numéricas.
$covarianceSamp El operador $covarianceSamp devuelve la covarianza de una muestra de dos expresiones numéricas.
$denseRank El operador $denseRank asigna y devuelve una clasificación posicional para cada documento dentro de una partición en función de un criterio de ordenación especificado.
$derivative El operador $derivative calcula la tasa media de cambio del valor de un campo dentro de una ventana especificada.
$documentNumber El operador $documentNumber asigna y devuelve una posición para cada documento dentro de una partición en función de un criterio de ordenación especificado.
$expMovingAvg El operador $expMovingAvg calcula la media móvil de un campo según el número de documentos especificados para asignar el mayor peso.
$integral El operador $integral calcula el área bajo una curva con el intervalo especificado de documentos que forman los documentos adyacentes para el cálculo.
$linearFill El operador $linearFill interpola los valores que faltan en una secuencia de documentos mediante la interpolación lineal.
$locf El operador $locf propaga el último valor no NULL observado dentro de una partición en una consulta con ventanas.
$rank El operador $rank clasifica los documentos dentro de una partición en función de un criterio de ordenación especificado.
$shift usage on DocumentDB Operador de ventana que desplaza los valores dentro de una partición y devuelve el valor desplazado.