Operadores

Os operadores MQL (Linguagem de Consulta) do MongoDB permitem filtragem avançada, comparação e manipulação de dados em consultas. Dominar esses operadores ajuda você a escrever consultas expressivas para recuperar e atualizar documentos com eficiência em suas coleções.

Accumulators

Os operadores acumuladores são usados em pipelines de agregação para executar cálculos em dados agrupados.

Description
$avg O operador $avg calcula a média de valores numéricos para documentos em um grupo, bucket ou janela.
$bottom O operador $bottom retorna o último documento do conjunto de resultados da consulta classificado por um ou mais campos
$bottomN O operador $bottomN retorna os últimos N documentos do resultado classificado por um ou mais campos
$count O $count operador é usado para contar o número de documentos que correspondem a um critério de filtragem de consulta.
$first O operador $first retorna o primeiro valor em um grupo de acordo com a ordem de classificação do grupo.
$firstN O operador $firstN classifica documentos em um ou mais campos especificados pela consulta e retorna o primeiro documento N que corresponde aos critérios de filtragem
$last O operador $last retorna o último documento do resultado classificado por um ou mais campos
$lastN O operador acumulador $lastN retorna os últimos N valores em um grupo de documentos.
$max O operador $max retorna o valor máximo de um conjunto de valores de entrada.
$maxN O operador $maxN recupera os valores N principais com base em um critério de filtragem especificado
$median O operador $median calcula o valor mediano de um campo numérico em um grupo de documentos.
$min O operador $min recupera o valor mínimo para um campo especificado
$minN O operador $minN recupera os valores N inferiores com base em um critério de filtragem especificado
$percentile O operador $percentile calcula o percentil de valores numéricos que correspondem a um critério de filtragem
$stddevpop O operador $stddevpop calcula o desvio padrão dos valores especificados
$stddevsamp O operador $stddevsamp calcula o desvio padrão de uma amostra especificada de valores e não de toda a população
$sum O operador $sum calcula a soma dos valores de um campo com base em um critério de filtragem
$top O operador $top retorna o primeiro documento do conjunto de resultados classificado por um ou mais campos
$topN O operador $topN retorna os primeiros N documentos do resultado classificado por um ou mais campos

Aggregation

Os operadores de agregação são usados para executar operações em dados agrupados em pipelines de agregação.

Description
$addFields O estágio $addFields no pipeline de agregação é usado para adicionar novos campos a documentos.
$bucket O operador $bucket agrupa documentos de entrada em buckets com base nos limites especificados.
$changeStream O estágio $changeStream abre um cursor de fluxo de alterações para controlar as alterações de dados em tempo real.
$collStats O estágio $collStats no pipeline de agregação é usada para retornar estatísticas sobre uma coleção.
$convert O operador $convert converte uma expressão no tipo especificado
$densify O operador $densify adiciona pontos de dados ausentes em uma sequência de valores dentro de uma matriz ou coleção.
$documents O estágio $documents cria um pipeline com base em um conjunto de documentos fornecidos.
$facet O $facet permite que várias agregações paralelas sejam executadas em um único estágio de pipeline.
$fill A etapa $fill permite preencher valores ausentes em documentos com base em métodos e critérios especificados.
$geoNear O operador $geoNear localiza e classifica documentos por proximidade a um ponto geoespacial, retornando informações de distância para cada documento.
$group O $group agrupa documentos por expressões de identificador especificadas e aplica expressões de acumulador.
$indexStats O estágio $indexStats retorna estatísticas de uso para cada índice na coleção.
$isNumber O operador $isNumber verifica se uma expressão especificada é um tipo numérico
$lookup O estágio $lookup na Estrutura de Agregação é usado para executar junções externas esquerdas com outras coleções.
$match O estágio $match no pipeline de agregação é usado para filtrar documentos que correspondem a uma condição especificada.
$merge O estágio $merge em um pipeline de agregação grava os resultados da agregação em uma coleção especificada.
$out O $out estágio em um pipeline de agregação grava os documentos resultantes em uma coleção especificada.
$redact O operador $redact filtra o conteúdo dos documentos com base nos direitos de acesso.
$replaceWith O operador $replaceWith no DocumentDB retorna um documento depois de substituir um documento pelo documento especificado
$sample O operador $sample no DocumentDB retorna um número selecionado aleatoriamente de documentos
$set O operador $set no DocumentDB atualiza ou cria um novo campo com um valor especificado
$skip O estágio $skip no pipeline de agregação é usado para pular um número especificado de documentos da entrada e passar os documentos restantes para a próxima etapa do pipeline.
$sort O estágio $sort no pipeline de agregação é usado para ordenar os documentos com base em um ou mais campos especificados.
$sortByCount O estágio $sortByCount no pipeline de agregação é usado para agrupar documentos por uma expressão especificada e, em seguida, classificar a contagem de documentos em cada grupo em ordem decrescente.
$toBool O operador $toBool converte uma expressão em um tipo booliano
$toDate O operador $toDate converte tipos com suporte em um objeto Date adequado.
$toDecimal O operador $toDecimal converte uma expressão em um tipo Decimal
$toDouble O operador $toDouble converte uma expressão em um valor Duplo
$toInt O operador $toInt converte uma expressão em um inteiro
$toLong O operador $toLong converte uma expressão em um valor Long
$toObjectId O operador $toObjectId converte uma expressão em uma ObjectId
$toString O operador $toString converte uma expressão em uma cadeia de caracteres
$unset O estágio $unset no pipeline de agregação é usado para remover campos especificados de documentos.
$unwind O estágio $unwind na estrutura de agregação é usado para desconstruir um campo de matriz dos documentos de entrada e gerar um documento para cada elemento.

Expressão aritmética

Os operadores de expressão aritmética executam operações matemáticas em valores numéricos.

Description
$abs O operador $abs retorna o valor absoluto de um número.
$add O operador $add retorna a soma de dois números ou a soma de uma data e números.
$ceil O operador $ceil retorna o menor inteiro maior ou igual ao número especificado.
$divide O operador $divide divide dois números e retorna o quociente.
$exp O operador $exp gera e para o expoente especificado e retorna o resultado
$floor O operador $floor retorna o maior inteiro que seja menor ou igual ao número especificado.
$ln O operador $ln calcula o logaritmo natural da entrada
$log O operador $log calcula o logaritmo de um número na base especificada
$log10 O operador $log 10 calcula o log de um número especificado na base 10
$multiply O operador $multiply multiplica os valores numéricos de entrada
$pow O $pow operador calcula o valor de um valor numérico elevado à potência de um expoente especificado.
$round O operador $round arredonda um número para uma casa decimal especificada.
$sqrt O operador $sqrt calcula e retorna a raiz quadrada de um número de entrada
$subtract O operador $subtract subtrai dois números e retorna o resultado.
$trunc O operador $trunc trunca um número para uma casa decimal especificada.
Index

Expressão de matriz

Os operadores de expressão de matriz executam operações em matrizes e elementos de matriz.

Description
$arrayElemAt O $arrayElemAt retorna o elemento no índice de matriz especificado.
$arrayToObject O $arrayToObject permite converter uma matriz em um único documento.
$concatArrays O $concatArrays é usado para combinar várias matrizes em uma única matriz.
$filter O operador $filter filtra elementos de uma matriz com base em uma condição especificada.
$indexOfArray O operador $indexOfArray é usado para pesquisar um elemento em uma matriz e retornar o índice da primeira ocorrência do elemento.
$isArray O operador $isArray é usado para determinar se um valor especificado é uma matriz.
$map O operador $map permite aplicar uma expressão a cada elemento em uma matriz.
$range O operador $range permite gerar uma matriz de inteiros sequenciais.
$reduce O operador $reduce aplica uma expressão a cada elemento em uma matriz e acumula o resultado como um único valor.
$reverseArray O operador $reverseArray é usado para inverter a ordem dos elementos em uma matriz.
$slice O operador $slice retorna um subconjunto de uma matriz de qualquer elemento em diante na matriz.
$sortArray O operador $sortArray ajuda a classificar os elementos em uma matriz.
$zip O operador $zip permite mesclar duas ou mais matrizes elemento a uma única matriz ou matrizes.

Consulta de matriz

Os operadores de consulta de matriz são usados para consultar e filtrar elementos de matriz.

Description
$all O operador $all ajuda a encontrar documentos de matriz que correspondam a todos os elementos.
$elemMatch O operador $elemMatch retorna uma matriz completa, qualificando critérios com pelo menos um elemento de matriz correspondente.
$size O operador $size é usado para consultar documentos em que um campo de matriz tem um número especificado de elementos.

Atualização de matriz

Os operadores de atualização de matriz são usados para modificar elementos de matriz e estrutura.

Description
$ O operador posicional $ identifica um elemento em uma matriz para atualizar sem especificar explicitamente a posição do elemento na matriz.
$addToSet O operador addToSet adiciona elementos a uma matriz se eles ainda não existirem, garantindo a exclusividade dos elementos dentro do conjunto.
$each O operador $each é usado dentro de uma $addToSet operação ou $push para adicionar vários elementos a um campo de matriz em uma única operação de atualização.
$pop O operador $pop remove o primeiro ou o último elemento de uma matriz.
$position O $position é usado para especificar a posição na matriz onde um novo elemento deve ser inserido.
$[] O operador $[] é usado para atualizar todos os elementos em uma matriz que correspondem à condição de consulta.
$[identifier] O operador $[identifier] é usado para atualizar todos os elementos usando um identificador específico em uma matriz que corresponde à condição de consulta.
$pull Remove todas as instâncias de um valor de uma matriz.
$pullAll O operador $pullAll é usado para remover todas as instâncias dos valores especificados de uma matriz.
$push O operador $push adiciona um valor especificado a uma matriz dentro de um documento.

Bitwise

Operadores bit a bit executam operações na representação binária de números.

Description
$bitAnd O operador $bitAnd executa uma operação AND bit a bit em valores inteiros e retorna o resultado como um inteiro.
$bitNot O operador $bitNot executa uma operação NOT bit a bit em valores inteiros e retorna o resultado como um inteiro.
$bitOr O operador $bitOr executa uma operação OR bit a bit em valores inteiros e retorna o resultado como um inteiro.
$bitXor O operador $bitXor executa uma operação XOR bit a bit em valores inteiros.

Consulta bit a bit

Operadores de consulta bit a bit são usados para consultar e filtrar com base em operações bit a bit.

Description
$bitsAllClear O operador $bitsAllClear é usado para corresponder a documentos em que todas as posições de bit especificadas em uma máscara de bits estão claras.
$bitsAllSet O comando bitsAllSet é usado para corresponder documentos em que todas as posições de bit especificadas são definidas.
$bitsAnyClear O operador $bitsAnyClear corresponde a documentos em que qualquer uma das posições de bit especificadas em uma máscara de bits está clara.
$bitsAnySet O operador $bitsAnySet retorna documentos em que qualquer uma das posições de bit especificadas é definida como 1.

Atualização bit a bit

Os operadores de atualização bit a bit são usados para modificar valores usando operações bit a bit.

Description
$bit O $bit operador é usado para executar operações bit a bit em valores inteiros.

Consulta de comparação

Os operadores de consulta de comparação são usados para comparar valores e criar expressões boolianas.

Description
$cmp O operador $cmp compara dois valores
$eq O operador de consulta $eq compara o valor de um campo com um valor especificado
$gt O operador de consulta $gt recupera documentos em que o valor de um campo é maior que um valor especificado
$gte O operador $gte recupera documentos em que o valor de um campo é maior ou igual a um valor especificado
$in O operador $in corresponde ao valor de um campo em relação a uma matriz de valores especificados
$lt O operador $lt recupera documentos em que o valor do campo é menor que um valor especificado
$lte O operador $lte recupera documentos em que o valor de um campo é menor ou igual a um valor especificado
$ne O operador $ne recupera documentos em que o valor de um campo não é igual a um valor especificado
$nin O operador $nin recupera documentos em que o valor de um campo não corresponde a uma lista de valores

Expressão condicional

Os operadores de expressão condicional fornecem fluxo de controle e lógica condicional em expressões.

Description
$cond O operador $cond é usado para avaliar uma condição e retornar uma das duas expressões com base no resultado.
$ifNull O operador $ifNull é usado para avaliar uma expressão e retornar um valor especificado se a expressão for resolvida como nula.
$switch O operador $switch é usado para avaliar uma série de condições e retornar um valor com base na primeira condição que é avaliada como verdadeira.

Tamanho dos dados

Os operadores de tamanho de dados são usados para determinar o tamanho das estruturas de dados e dos valores.

Description
$binarySize O operador $binarySize é usado para retornar o tamanho de um campo de dados binário.
$bsonSize O operador $bsonSize retorna o tamanho de um documento em bytes quando codificado como BSON.

Expressão de data

Os operadores de expressão de data executam operações em valores de data e hora.

Description
$dateAdd O operador $dateAdd adiciona um número especificado de unidades de tempo (dia, hora, mês etc) a uma data.
$dateDiff O operador $dateDiff calcula a diferença entre duas datas em várias unidades, como anos, meses, dias etc.
$dateFromParts O operador $dateFromParts constrói uma data de componentes individuais.
$dateFromString O operador $dateDiff converte uma cadeia de caracteres de data/hora em um objeto de data.
$dateSubtract O operador $dateSubtract subtrai uma quantidade de tempo especificada de uma data.
$dateToParts O operador $dateToParts decompõe uma data em suas partes individuais, como ano, mês, dia e muito mais.
$dateToString O operador $dateToString converte um objeto de data em uma cadeia de caracteres formatada.
$dateTrunc O operador $dateTrunc trunca uma data para uma unidade especificada.
$dayOfMonth O operador $dayOfMonth extrai o dia do mês de uma data.
$dayOfWeek O operador $dayOfWeek extrai o dia da semana de uma data.
$dayOfYear O operador $dayOfYear extrai o dia do ano de uma data.
$hour O operador $hour retorna a parte de hora de uma data como um número entre 0 e 23.
$isoDayOfWeek O operador $isoDayOfWeek retorna o número do dia da semana no formato ISO 8601, variando de 1 (segunda-feira) a 7 (domingo).
$isoWeek O operador $isoWeek retorna o número da semana do ano no formato ISO 8601, variando de 1 a 53.
$isoWeekYear O operador $isoWeekYear retorna o número do ano no formato ISO 8601, que pode ser diferente do ano civil para datas no início ou no final do ano.
$millisecond O operador $millisecond extrai a parte de milissegundos de um valor de data.
$minute O operador $minute extrai a parte de minuto de um valor de data.
$month O operador $month extrai a parte do mês de um valor de data.
$second O operador $second extrai a parte de segundos de um valor de data.
$week O operador $week retorna o número da semana de uma data como um valor entre 0 e 53.
$year O operador $year retorna o ano para uma data como um número de quatro dígitos.

Consulta de elemento

Operadores de consulta de elemento são usados para consultar elementos de documento com base em sua existência e tipo.

Description
$exists O operador $exists recupera documentos que contêm o campo especificado em sua estrutura de documentos.
$type O operador $type recuperará documentos se o campo escolhido for do tipo especificado.

Consulta de avaliação

Os operadores de consulta de avaliação são usados para avaliar expressões e executar operações dinâmicas.

Description
$expr O operador $expr permite o uso de expressões de agregação na linguagem de consulta, possibilitando comparações e cálculos complexos de campos.
$jsonSchema O operador $jsonSchema valida documentos em uma definição de esquema JSON para validação de dados e imposição de estrutura. Descubra os recursos e limitações com suporte.
$mod O operador $mod executa uma operação de módulo no valor de um campo e seleciona documentos com um resultado especificado.
$regex O operador $regex fornece funcionalidades de expressão regular para padrões correspondentes em consultas, permitindo a correspondência e a pesquisa de cadeias de forma flexível.
$text O operador $text executa a pesquisa de texto no conteúdo dos campos de cadeia de caracteres indexados, habilitando recursos de pesquisa de texto completo.

Atualização de campo

Operadores de atualização de campo são usados para modificar campos específicos em documentos durante operações de atualização.

Description
$currentDate O operador $currentDate define o valor de um campo como a data atual, seja como data ou carimbo de data/hora.
$inc O operador $inc incrementa o valor de um campo por um valor especificado.
$mul O operador $mul multiplica o valor de um campo por um número especificado.
$rename O operador $rename permite renomear campos em documentos durante operações de atualização.
$setOnInsert O operador $setOnInsert define valores de campo somente quando uma operação upsert resulta em uma inserção de um novo documento.

Geospatial

Operadores geoespaciais executam operações em dados geográficos e relações espaciais.

Description
$box O operador $box define uma área retangular para consultas geoespaciais usando pares de coordenadas.
$center O operador $center especifica um círculo usando pares de coordenadas herdadas para consultas $geoWithin.
$centerSphere O operador $centerSphere especifica um círculo usando geometria esférica para consultas $geoWithin.
$geoIntersects O operador $geoIntersects seleciona documentos cujo campo de localização intersecciona com um objeto GeoJSON especificado.
$geometry O operador $geometry especifica uma geometria GeoJSON para consultas geoespaciais.
$geoWithin O operador $geoWithin seleciona documentos cujo campo de localização está completamente dentro de uma geometria especificada.
$maxDistance O operador $maxDistance especifica a distância máxima que pode existir entre dois pontos em uma consulta geoespacial.
$minDistance O operador $minDistance especifica a distância mínima que deve existir entre dois pontos em uma consulta geoespacial.
$near O operador $near retorna documentos com campos de localização próximos a um ponto especificado, classificados por distância.
$nearSphere O operador $nearSphere retorna documentos cujos campos de localização estão próximos a um ponto especificado em uma esfera, classificados por distância em uma superfície esférica.
$polygon O operador $polygon define um polígono para consultas geoespaciais, permitindo localizar locais dentro de uma forma irregular.

Expressão literal

Os operadores de expressão literal são usados para representar valores literais em expressões de agregação.

Description
$literal O operador $literal retorna o valor especificado sem analisá-lo como uma expressão, permitindo que valores literais sejam usados em pipelines de agregação.

Consulta lógica

Operadores de consulta lógica combinam expressões boolianas usando operações lógicas.

Description
$and O operador $and une várias cláusulas de consulta e retorna documentos que correspondem a todas as condições especificadas.
$nor O operador $nor executa um NOR lógico em uma matriz de expressões e recupera documentos que falham em todas as condições.
$not O operador $not executa uma operação NOT lógica em uma expressão especificada, selecionando documentos que não correspondem à expressão.
$or O operador $or une cláusulas de consulta com um OR lógico e retorna documentos que correspondem a pelo menos uma das condições especificadas.

Miscellaneous

Operadores diversos incluem vários operadores utilitários e auxiliares que não se encaixam em outras categorias.

Description
$getField O operador $getField permite recuperar o valor de um campo especificado de um documento.
$sampleRate O operador $sampleRate amostra aleatoriamente documentos de uma coleção com base em uma taxa de probabilidade especificada, útil para análise estatística e teste.

Consulta diversa

Operadores de consulta diversos incluem vários operadores utilitários e auxiliares para consultas que não se encaixam em outras categorias.

Description
$comment O operador $comment adiciona um comentário a uma consulta para ajudar a identificar a consulta nos logs e na saída do criador de perfil.
$natural O operador $natural força a consulta a usar a ordem natural dos documentos em uma coleção, fornecendo controle sobre a ordenação e recuperação de documentos.
$rand O operador $rand gera um valor flutuante aleatório entre 0 e 1.

Expressão de objeto

Os operadores de expressão de objeto executam operações em objetos e propriedades de objeto.

Description
$mergeObjects O operador $mergeObjects mescla vários documentos em um único documento
$objectToArray O comando objectToArray é usado para transformar um documento (objeto) em uma matriz de pares chave-valor.
$setField O comando campoconjunto é usado para adicionar, atualizar ou remover campos em documentos incorporados.

Projection

Os operadores de projeção são usados para selecionar e transformar campos em documentos.

Description
$meta O operador $meta retorna uma coluna de metadados calculada com o conjunto de dados retornado.

Definir expressão

Definir operadores de expressão executa operações em conjuntos e matrizes tratadas como conjuntos.

Description
$allElementsTrue O operador $allElementsTrue retornará true se todos os elementos em uma matriz forem avaliados como verdadeiros.
$anyElementTrue O operador $anyElementTrue retornará true se qualquer elemento em uma matriz for avaliado como um valor verdadeiro.
$setDifference O operador $setDifference retorna um conjunto com elementos que existem em um conjunto, mas não em um segundo conjunto.
$setEquals O operador $setEquals retornará true se dois conjuntos tiverem os mesmos elementos distintos.
$setIntersection O operador $setIntersection retorna os elementos comuns que aparecem em todas as matrizes de entrada.
$setIsSubset O operador $setIsSubset determina se uma matriz é um subconjunto de uma segunda matriz.
$setUnion O operador $setUnion retorna uma matriz que contém todos os elementos exclusivos das matrizes de entrada.

Expressão de carimbo de data/hora

Operadores de expressão de carimbo de data/hora executam operações em valores de carimbo de data/hora.

Description
$tsIncrement O operador $tsIncrement extrai a parte de incremento de um valor de carimbo de data/hora.
$tsSecond O operador $tsSecond extrai a parte de segundos de um valor de carimbo de data/hora.

Expressão variável

Os operadores de expressão variável são usados para definir e referenciar variáveis em expressões.

Description
$let O operador $let permite definir variáveis para uso em uma expressão especificada, habilitando cálculos complexos e reduzindo a repetição de código.

Operadores de janela

Os operadores de janela executam cálculos em um conjunto de documentos em uma janela especificada.

Description
$covariancePop O operador $covariancePop retorna a covariância de duas expressões numéricas
$covarianceSamp O operador $covarianceSamp retorna a covariância de uma amostra de duas expressões numéricas
$denseRank O operador $denseRank atribui e retorna uma classificação posicional para cada documento dentro de uma partição com base em uma ordem de classificação especificada
$derivative O operador $derivative calcula a taxa média de alteração do valor de um campo em uma janela especificada.
$documentNumber O operador $documentNumber atribui e retorna uma posição para cada documento dentro de uma partição com base em uma ordem de classificação especificada
$expMovingAvg O operador $expMovingAvg calcula a média móvel de um campo com base no número especificado de documentos para manter o maior peso
$integral O operador $integral calcula a área em uma curva com o intervalo de documentos especificado formando os documentos adjacentes para o cálculo.
$linearFill O operador $linearFill interpola valores ausentes em uma sequência de documentos usando interpolação linear.
$locf O operador $locf propaga o último valor não nulo observado em uma partição em uma consulta com janelas.
$rank O operador $rank classifica documentos dentro de uma partição com base em uma ordem de classificação especificada.
$shift usage on DocumentDB Um operador de janela que desloca valores dentro de uma partição e retorna o valor deslocado.