Operadores

Os operadores da Linguagem de Consulta MongoDB (MQL) permitem filtragem poderosa, comparação e manipulação de dados dentro das consultas. Dominar estes operadores ajuda-o a escrever consultas expressivas para recuperar e atualizar de forma eficiente documentos nas suas coleções.

Accumulators

Operadores de acumuladores são usados em pipelines de agregação para realizar cálculos sobre dados agrupados.

Description
$avg O operador $avg calcula a média dos valores numéricos dos documentos num grupo, balde 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 classificados por um ou mais campos
$count O $count operador é usado para contar o número de documentos que correspondem a critérios de filtragem de consultas.
$first O operador $first retorna o primeiro valor de 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 correspondente aos critérios de filtragem
$last O operador $last retorna o último documento do resultado classificado por um ou mais campos
$lastN O operador de acumulador $lastN retorna os últimos valores N 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 N valores superiores com base num 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 N valores inferiores com base num 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 classificados por um ou mais campos

Aggregation

Os operadores de agregação são usados para realizar 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 aos documentos.
$bucket O operador $bucket agrupa documentos de entrada em baldes com base em limites especificados.
$changeStream O estágio $changeStream abre um cursor de fluxo de alterações para acompanhar as alterações de dados em tempo real.
$collStats O estágio de $collStats no pipeline de agregação é usado 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 em falta numa sequência de valores dentro de um array ou coleção.
$documents O estágio $documents cria um pipeline a partir de um conjunto de documentos fornecidos.
$facet O $facet permite que várias agregações paralelas sejam executadas dentro de um único estágio de pipeline.
$fill A etapa $fill permite preencher os valores em falta nos documentos com base em métodos e critérios especificados.
$geoNear O operador $geoNear encontra e classifica documentos pela sua proximidade a um ponto geoespacial, retornando informações de distância para cada documento.
$group O estágio $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 à esquerda 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 numa pipeline de agregação escreve os resultados da agregação numa coleção especificada.
$out A $out etapa de um pipeline de agregação escreve os documentos resultantes numa 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 devolve um documento após substituir um documento pelo documento especificado
$sample O operador $sample no DocumentDB devolve um número seleto aleatoriamente de documentos
$set O operador $set no DocumentDB atualiza ou cria um novo campo com um valor especificado
$skip O estágio de $skip no pipeline de agregação é usado para ignorar um número especificado de documentos da entrada e passar os documentos restantes para o próximo estágio no pipeline.
$sort O estágio $sort no pipeline de agregação é usado para ordenar os documentos no pipeline por um campo ou 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 booleano
$toDate O operador $toDate converte tipos suportados em um objeto Date adequado.
$toDecimal O operador $toDecimal converte uma expressão num tipo Decimal
$toDouble O operador $toDouble converte uma expressão em um valor Double
$toInt O operador $toInt converte uma expressão em um Integer
$toLong O operador $toLong converte uma expressão em um valor Long
$toObjectId O operador $toObjectId converte uma expressão em um ObjectId
$toString O operador $toString converte uma expressão em uma String
$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 para produzir um documento para cada elemento.

Expressão Aritmética

Os operadores de expressão aritmética realizam operações matemáticas sobre 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 devolve o quociente.
$exp O operador $exp eleva e ao expoente especificado e retorna o resultado
$floor O operador $floor retorna o maior inteiro 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 devolve o resultado.
$trunc O operador $trunc trunca um número até uma casa decimal especificada.
Index

Expressão de Array

Os operadores de expressão do array realizam operações sobre arrays e elementos do array.

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 procurar 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 & acumula resultado como valor único.
$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 na classificação dos elementos em uma matriz.
$zip O operador $zip permite mesclar dois ou mais arrays em um único array ou arrays.

Consulta ao Array

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

Description
$all O operador $all ajuda a encontrar documentos de matriz que correspondam a todos os elementos.
$elemMatch O operador $elemMatch devolve o array completo, critérios qualificadores com pelo menos um elemento do array correspondente.
$size O operador $size é usado para consultar documentos onde um campo de matriz tem um número especificado de elementos.

Atualização do Array

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

Description
$ O operador posicional $ identifica um elemento em uma matriz a ser atualizado 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 múltiplos elementos a um campo de array numa única operação de atualização.
$pop O operador $pop remove o primeiro ou último elemento de um array.
$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 $[identificador] é usado para atualizar todos os elementos usando um identificador específico num array que corresponde à condição da 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

Os operadores bit a bit realizam operações sobre a representação binária dos 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

Os 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 documentos onde todas as posições de bit especificadas em uma máscara de bits são claras.
$bitsAllSet O comando bitsAllSet é usado para corresponder documentos onde todas as posições de bits especificadas são definidas.
$bitsAnyClear O operador $bitsAnyClear corresponde a documentos onde qualquer uma das posições de bit especificadas em uma máscara de bits é clara.
$bitsAnySet O operador $bitsAnySet retorna documentos onde qualquer uma das posições de bit especificadas está definida como 1.

Atualização Bitwise

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 booleanas.

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 do 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 compara o valor de um campo com um array de valores especificados.
$lt O operador $lt recupera documentos em que o valor do campo é menor do 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 controlo 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 null.
$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 dos dados são usados para determinar o tamanho das estruturas e valores de dados.

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 realizam operações sobre 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 a partir de componentes individuais.
$dateFromString O operador $dateDiff converte uma cadeia de caracteres data/hora em um objeto date.
$dateSubtract O operador $dateSubtract subtrai uma quantidade especificada de tempo 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 a partir de uma data.
$hour O operador $hour retorna a parte da 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 diferir do ano civil para datas no início ou no final do ano.
$millisecond O operador $millisecond extrai a porção de milissegundos de um valor de data.
$minute O operador $minute extrai a porção 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 para 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 ao Elemento

Os operadores de consulta de elementos são usados para consultar elementos de documentos com base na 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 recupera 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 realizar operações dinâmicas.

Description
$expr O operador $expr permite o uso de expressões de agregação dentro da linguagem de consulta, permitindo comparações e cálculos de campos complexos.
$jsonSchema O operador $jsonSchema valida documentos em relação a uma definição de esquema JSON para validação de dados e imposição de estrutura. Descubra as funcionalidades e limitações suportadas.
$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 recursos de expressão regular para correspondência de padrões em consultas, permitindo correspondência e pesquisa de cadeia de caracteres flexível.
$text O operador $text executa a pesquisa de texto no conteúdo de campos de cadeia de caracteres indexados, permitindo recursos de pesquisa de texto completo.

Atualização de Campo

Os 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 para a data atual, como um carimbo de data ou hora.
$inc O operador $inc incrementa o valor de um campo em uma quantidade especificada.
$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 de upsert resulta em uma inserção de um novo documento.

Geospatial

Os operadores geoespaciais realizam operações sobre 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 herdados 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 se cruza 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 perto de 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 que você encontre locais dentro de uma forma irregular.

Expressão literal

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 lógicos de consulta combinam expressões booleanas usando operações lógicas.

Description
$and O operador $and junta 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 lógica NOT 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

Os operadores diversos incluem vários operadores utilitários e auxiliares que não se enquadram noutras categorias.

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

Consulta Diversa

Operadores de consulta diversas incluem vários operadores utilitários e auxiliares para consultas que não se enquadram noutras 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 a recuperação de documentos.
$rand O operador $rand gera um valor float aleatório entre 0 e 1.

Expressão do Objeto

Os operadores de expressão de objetos realizam operações sobre objetos e propriedades dos objetos.

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 setField é 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 calculados com o conjunto de dados retornado.

Expressão de conjuntos

Os operadores de expressão de conjunto realizam operações em conjuntos e arrays tratados como conjuntos.

Description
$allElementsTrue O operador $allElementsTrue retorna true se todos os elementos em uma matriz forem avaliados como true.
$anyElementTrue O operador $anyElementTrue retorna true se qualquer elemento em uma matriz for avaliado como um valor true.
$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 retorna 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 Tempo

Os operadores de expressões de carimbo temporal realizam operações sobre valores de carimbo de tempo.

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 de variáveis

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, permitindo cálculos complexos e reduzindo a repetição de código.

Operadores de janela

Os operadores de janela realizam cálculos num conjunto de documentos numa 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 variação do valor de um campo dentro de 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 conter o maior peso
$integral O operador $integral calcula a área sob uma curva com o intervalo especificado de documentos que formam os documentos adjacentes utilizados 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 para frente dentro de uma partição em uma consulta em janela.
$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.