Operadores pipeline de agregação
Nesta página
- Compatibilidade
- Operadores de Expressão
- Operadores de expressões aritméticas
- Operadores de expressão de array
- Operadores de expressão booleana
- Operadores de expressão de comparação
- Operadores de Expressão Condicional
- Operadores de expressão de agregação personalizada
- Operadores de Tamanho de Dados
- Operadores de Expressão de Data
- Operador de expressão literal
- Operadores diversos
- Operadores de expressão de objeto
- Definir operadores de expressão
- Operadores de expressão de string
- Operador de expressão de texto
- Operadores de expressão de trigonometria
- Operadores de expressão de tipo
- Acumuladores (
$group, $bucket, $bucketAuto, $setWindowFields
) - Acumuladores (em outras etapas)
- Operadores de expressão variável
- Operadores de Janela
- Lista alfabética de operadores de expressão
Os operadores de pipeline de agregação são compatíveis com o MongoDB Atlas e ambientes locais.
Observação
Para obter detalhes sobre um operador específico, incluindo sintaxe e exemplos, clique no link para a página de referência do operador.
Compatibilidade
Você pode usar os operadores de pipeline de agregação para implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Operadores de Expressão
Esses operadores de expressão estão disponíveis para construir expressões para uso nos estágios do pipeline de agregação.
As expressões de operadores são semelhantes às funções que aceitam argumentos. Em geral, estas expressões tomam uma matriz de argumentos e têm a seguinte forma:
{ <operator>: [ <argument1>, <argument2> ... ] }
Se o operador aceitar um único argumento, você poderá omitir a matriz externa designando a lista de argumentos:
{ <operator>: <argument> }
Para evitar a ambiguidade de análise se o argumento for uma array literal, você deve envolver a array literal em uma expressão $literal
ou manter a array externa que designa a lista de argumentos.
Operadores de expressões aritméticas
Expressões aritméticas executam operações matemáticas em números. Algumas expressões aritméticas também podem suportar aritmética de datas.
Nome | Descrição |
---|---|
Retorna o valor absoluto de um número. | |
Adiciona números para retornar a soma ou adiciona números e uma data para retornar uma nova data. Se adicionar números e uma data, trata os números como milissegundos. Aceita qualquer número de expressões de argumentos, mas, no máximo, uma expressão pode ser resolvida para uma data. | |
Retorna o menor número inteiro maior ou igual ao número especificado. | |
Retorna o resultado da divisão do primeiro número pelo segundo. Aceita duas expressões de argumento. | |
Aumenta e para o expoente especificado. | |
Retorna o maior número inteiro menor ou igual ao número especificado. | |
Calcula o registro natural de um número. | |
Calcula o registro de um número na base especificada. | |
Calcula a base de log 10 de um número. | |
Retorna o restante do primeiro número dividido pelo segundo. Aceita duas expressões de argumento. | |
Multiplica números para devolver o produto. Aceita qualquer número de expressões de argumento. | |
Cria um número para o expoente especificado. | |
Arredonda um número para um inteiro inteiro ou para uma casa decimal especificada. | |
Calcula a raiz quadrada. | |
Retorna o resultado da subtração do segundo valor do primeiro. Se os dois valores forem números, retorne a diferença. Se os dois valores forem datas, retorne a diferença em milissegundos. Se os dois valores forem uma data e um número em milissegundos, retorne a data resultante. Aceita duas expressões de argumentos. Se os dois valores forem uma data e um número, especifique o argumento de data primeiro, pois ele não é significativo para subtrair uma data de um número. | |
Trunca um número para um inteiro ou para uma casa decimal especificada. |
Operadores de expressão de array
Nome | Descrição |
---|---|
Retorna o elemento no índice de array especificado. | |
Converte uma array de pares de valores chave em um documento. | |
Concatena arrays para retornar a array concatenada. | |
Seleciona um subconjunto da matriz para retornar uma matriz com apenas os elementos que correspondem à condição do filtro. | |
Retorna o primeiro elemento da array. Distinto do acumulador | |
Retorna um booleano indicando se um valor especificado está em uma matriz. | |
Pesquisa uma matriz para uma ocorrência de um valor especificado e
retorna o índice da matriz da primeira ocorrência. Se a substring não for encontrada, retorna | |
Determina se o operando é um array. Retorna um booleano. | |
Retorna o último elemento da matriz. Distinto do acumulador | |
Aplica uma subexpressão a cada elemento de uma matriz e retorna a matriz de valores resultantes em ordem. Aceita parâmetros nomeados. | |
Converte um documento em uma matriz de documentos representando pares chave/valor. | |
Entrai uma matriz contendo uma sequência de inteiros de acordo com entradas definidas pelo usuário. | |
Aplica uma expressão para cada elemento em uma matriz e a combina em um único valor. | |
Retorna uma array com os elementos em ordem inversa. | |
Retorna o número de elementos na matriz. Aceita uma única expressão como argumento. | |
Retorna um subconjunto de uma array. | |
Mesclar dois arrays juntos. |
Operadores de expressão booleana
Expressões booleanas avaliam suas expressões argumentais como booleanas e retornam um booleano como resultado.
Além do valor booleano false
, a expressão booleana avalia como false
os seguintes valores: null
, 0
e undefined
. A expressão booleana avalia todos os outros valores como true
, incluindo valores numéricos diferentes de zero e arrays.
Nome | Descrição |
---|---|
Retorna | |
Retorna o valor booleano que é o oposto da expressão do seu argumento. Aceita uma única expressão de argumento. | |
Retorna |
Operadores de expressão de comparação
As expressões de comparação retornam um booleano, exceto para $cmp
que retorna um número.
As expressões de comparação usam duas expressões de argumento e comparam valor e tipo, usando a ordem de comparação BSON especificada para valores de tipos diferentes.
Nome | Descrição |
---|---|
Retorna | |
Retorna | |
Retorna | |
Retorna | |
Retorna | |
Retorna | |
Retorna |
Operadores de Expressão Condicional
Nome | Descrição |
---|---|
Um operador ternário que avalia uma expressão e, dependendo do resultado, retorna o valor de uma das outras duas expressões. Aceita três expressões em uma lista ordenada ou três parâmetros nomeados. | |
Retorna o resultado não nulo da primeira expressão ou o resultado da segunda expressão se a primeira expressão resultar em um resultado nulo. O resultado nulo engloba instâncias de valores indefinidos ou campos ausentes. Aceita duas expressões como argumentos. O resultado da segunda expressão pode ser nulo. | |
Avalia uma série de expressões de caso. Quando encontra uma expressão que avalia para |
Operadores de expressão de agregação personalizada
Nome | Descrição |
---|---|
Define uma função de acumulação personalizada. | |
Define uma função personalizada. |
Operadores de Tamanho de Dados
Os seguintes operadores retornam o tamanho de um elemento de dados:
Nome | Descrição |
---|---|
Retorna o tamanho de uma determinada string ou o conteúdo do valor dos dados binários em bytes. | |
Retorna o tamanho em bytes de determinado documento (ou seja, bsontype |
Operadores de Expressão de Data
Os seguintes operadores retornam objetos de data ou componentes de um objeto de data:
Nome | Descrição |
---|---|
Adiciona uma série de unidades de tempo a um objeto de data. | |
Retorna a diferença entre duas datas. | |
Constrói um objeto BSON Date considerando as peças constituintes da data. | |
Converte uma string de data/hora em um objeto de data. | |
Subtrai uma série de unidades de tempo de um objeto de data. | |
Retorna um documento contendo as partes constituintes de uma data. | |
Retorna a data como uma string formatada. | |
Trunca uma data. | |
Retorna o dia do mês para uma data como um número entre 1 e 31. | |
Retorna o dia da semana para uma data como um número entre 1 (Domingo) e 7 (Sábado). | |
Retorna o dia do ano para uma data como um número entre 1 e 366 (ano bissexto). | |
Retorna a hora para uma data como um número entre 0 e 23. | |
Retorna o número do dia da semana no formato ISO 8601, que varia de | |
Retorna o número da semana no formato ISO 8601, que varia de | |
Retorna o número do ano no formato ISO 8601. O ano começa com a segunda-feira da semana 1 (ISO 8601) e termina com o domingo da última semana (ISO 8601). | |
Retorna milissegundos de uma data como um número entre 0 e 999. | |
Retorna o minuto para uma data como um número entre 0 e 59. | |
Retorna o mês para uma data como um número entre 1 (janeiro) e 12 (dezembro). | |
Retorna os segundos para uma data como um número entre 0 e 60 (segundos bissextos). | |
Converte o valor para uma data. | |
Retorna o número da semana para uma data como um número entre 0 (a semana parcial que precede o primeiro domingo do ano) e 53 (ano bissexto). | |
Retorna o ano para uma data como um número (por exemplo, 2014). |
Os seguintes operadores aritméticos podem tomar operandos de data:
Nome | Descrição |
---|---|
Adiciona números e uma data para retornar uma nova data. Se adicionar números e uma data, trata os números como milissegundos. Aceita qualquer número de expressões de argumento, mas, no máximo, uma expressão pode ser resolvida para uma data. | |
Retorna o resultado da subtração do segundo valor do primeiro. Se os dois valores forem datas, retorne a diferença em milissegundos. Se os dois valores forem uma data e um número em milissegundos, retorne a data resultante. Aceita duas expressões de argumentos. Se os dois valores forem uma data e um número, especifique o argumento de data primeiro, pois não é significativo subtrair uma data de um número. |
Operador de expressão literal
Operadores diversos
Nome | Descrição |
---|---|
Retorna o valor de um campo especificado de um documento. Você pode usar Novidades na versão 5.0. | |
Retorna uma flutuação aleatória entre 0 e 1 | |
Selecione documentos aleatoriamente a uma determinada taxa. Embora o exato número de documentos selecionados varie em cada execução, a quantidade escolhida aproxima-se da taxa de amostragem expressa em percentagem do número total de documentos. |
Operadores de expressão de objeto
Nome | Descrição |
---|---|
Combina vários documentos em um único documento. Novidade na versão 3.6. | |
Converte um documento em uma matriz de documentos representando pares chave/valor. Novidade na versão 3.6. | |
Adiciona, atualiza ou remove um campo especificado em um documento. Você pode usar Novidades na versão 5.0. |
Definir operadores de expressão
Expressões de conjunto executam operações de conjunto em matrizes, tratando matrizes como conjuntos. Definir expressões ignora as entradas duplicadas em cada matriz de entrada e a ordem dos elementos.
Se a operação de definição retornar um conjunto, a operação filtrará duplicatas no resultado para gerar uma matriz que contenha apenas entradas exclusivas. A ordem dos elementos na matriz de saída não é especificada.
Se um conjunto contiver um elemento de array aninhada, a expressão set não desce para a array aninhada, mas avalia a array no nível superior.
Nome | Descrição |
---|---|
Retorna | |
Retorna | |
Retorna um conjunto com elementos que aparecem no primeiro conjunto mas não no segundo conjunto; ou seja, executa um complemento relativo do segundo conjunto em relação ao primeiro. Aceita exatamente duas expressões de argumento. | |
Retorna | |
Retorna um conjunto com elementos que aparecem em todos os conjuntos de entrada. Aceita qualquer número de expressões de argumento. | |
Retorna | |
Retorna um conjunto com elementos que aparecem em qualquer conjunto de entrada. |
Operadores de expressão de string
As expressões de string, com exceção de $concat
, só têm um comportamento bem definido para string ASCII.
$concat
o comportamento é bem definido independentemente dos
caracteres usados.
Nome | Descrição |
---|---|
Concatena qualquer número de strings. | |
Converte uma string de data/hora em um objeto de data. | |
Retorna a data como uma string formatada. | |
Pesquisa uma string para uma ocorrência de uma substring e retorna
o índice de bytes UTF-8 da primeira ocorrência. Se a substring não for encontrada, retorna | |
Procura uma string para uma ocorrência de uma substring e retorna
o índice de ponto do código UTF-8 da primeira ocorrência. Se a
substring não for encontrada, retorna | |
Remove o espaço em branco ou os caracteres especificados do início de uma string. | |
Aplica uma expressão regular (regex) a uma string e retorna informações sobre a primeira substring correspondente. | |
Aplica uma expressão regular (regex) a uma string e retorna informações sobre todas as substrings correspondentes. | |
Aplica uma expressão regular (regex) a uma string e retorna um booleano que indica se uma correspondência foi encontrada ou não. | |
Substitui a primeira instância de uma string correspondente em uma determinada entrada. | |
Substitui todas as instâncias de uma string correspondente em uma determinada entrada. | |
Remove o espaço em branco ou os caracteres especificados do final de uma string. | |
Divide uma string em substrings com base em um delimitador. Retorna uma matriz de substrings. Se o delimitador não for encontrado dentro da string, retorna uma matriz contendo a string original. | |
Retorna o número de bytes codificados UTF-8 em uma string. | |
Retorna o número de pontos de código UTF-8 em uma string. | |
Executa a comparação de string sem distinção de maiúsculas e minúsculas e retorna: | |
Obsoleto. Use | |
Retorna a substring de uma string. Começa com o caractere no índice de byte UTF-8 especificado (baseado em zero) na string e continua pelo número de bytes especificado. | |
Retorna a substring de uma string. Começa com o caractere no índice (baseado em zero) do ponto de código (code point) UTF-8 especificado na string e continua com o número de pontos de código especificado. | |
Converte uma string em minúsculas. Aceita uma única expressão de argumento. | |
Converte o valor para uma string. | |
Remove o espaço em branco ou os caracteres especificados do início e fim de uma string. | |
Converte uma string em maiúsculas. Aceita uma única expressão de argumento. |
Operador de expressão de texto
Nome | Descrição |
---|---|
Acesse os metadados disponíveis por documento relacionados à operação de agregação. |
Operadores de expressão de trigonometria
Expressões de trigonometria executam operações trigonométricas em números. Os valores que representam ângulos são sempre de entrada ou saída em radianos. Use $degreesToRadians
e $radiansToDegrees
para converter entre medidas de grau e radianos.
Nome | Descrição |
---|---|
Retorna o seno de um valor que é medido em radianos. | |
Retorna o cosseno de um valor medido em radianos. | |
Retorna a tangente de um valor que é medido em radianos. | |
Retorna o seno inverso (arco seno) de um valor em radianos. | |
Retorna o cosseno inverso (arco cosseno) de um valor em radianos. | |
Retorna a tangente inversa (arco tangente) de um valor em radianos. | |
Retorna a tangente inversa (arco tangente) de | |
Retorna o seno hiperbólico inverso (arco seno hiperbólico) de um valor em radianos. | |
Retorna o cosseno hiperbólico inverso (arco cosseno hiperbólico) de um valor em radianos. | |
Retorna a tangente hiperbólica inversa (arco tangente hiperbólico) de um valor em radianos. | |
Retorna o seno hiperbólico de um valor medido em radianos. | |
Retorna o cosseno hiperbólico de um valor medido em radianos. | |
Retorna a tangente hiperbólica de um valor medido em radianos. | |
Converte um valor de graus para radianos. | |
Converte um valor de radianos para graus. |
Operadores de expressão de tipo
Nome | Descrição |
---|---|
Converte um valor para um tipo especificado. | |
Converte o valor em booleano. | |
Converte o valor para uma data. | |
Converte o valor para um Decimal128. | |
Converte o valor em double. | |
Converte o valor para um número inteiro. | |
Converte o valor para um longo. | |
Converte o valor para um ObjectId. | |
Converte o valor para uma string. | |
Retorne o tipo de dados BSON do campo. |
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields
)
Operadores acumuladores de agregação:
Mantenha seu estado à medida que os documentos progridem no pipeline da agregação.
Retornar totais, maxima, minima e outros valores.
Pode ser usado nestes estágios do pipeline de agregação:
$setWindowFields
a partir do MongoDB 5.0 (exceto quando você estiver usando os operadores$accumulator
ou , que não$mergeObjects
$setWindowFields
podem ser usados com )
Alterado na versão 5.0.
Nome | Descrição |
---|---|
Retorna o resultado de uma função de acumulador definida pelo usuário. | |
Retorna uma array de valores de expressão exclusivos para cada grupo. A ordem dos elementos da array é indefinida. Alterado na versão 5.0: Disponível no estágio | |
Retorna uma média de valores numéricos. Ignora valores não numéricos. Alterado na versão 5.0: Disponível no estágio | |
Retorna o número de documentos em um grupo. Diferente do estágio Novidade na versão 5.0: Disponível nos estágios | |
Retorna o resultado de uma expressão para o primeiro documento em um grupo. Alterado na versão 5.0: Disponível no estágio | |
Retorna o resultado de uma expressão para o último documento em um grupo. Alterado na versão 5.0: Disponível no estágio | |
Retorna o valor de expressão mais alto para cada grupo. Alterado na versão 5.0: Disponível no estágio | |
Retorna um documento criado combinando os documentos de entrada de cada grupo. | |
Retorna o valor de expressão mais baixo para cada grupo. Alterado na versão 5.0: Disponível no estágio | |
Retorna uma matriz de valores de expressão para documentos em cada grupo. Alterado na versão 5.0: Disponível no estágio | |
Retorna o desvio padrão da população dos valores de entrada. Alterado na versão 5.0: Disponível no estágio | |
Retorna o desvio padrão da amostra dos valores de entrada. Alterado na versão 5.0: Disponível no estágio | |
Retorna uma soma de valores numéricos. Ignora valores não numéricos. Alterado na versão 5.0: Disponível no estágio |
Acumuladores (em outras etapas)
Alguns operadores que estão disponíveis como acumuladores para o estágio $group
também estão disponíveis para uso em outros estágios, mas não como acumuladores. Quando usados nesses outros estágios, esses operadores não mantêm seu estado e podem receber como entrada um único argumento ou vários argumentos. Para obter detalhes, consulte a página do operador específico.
Alterado na versão 5.0.
Os seguintes operadores acumuladores também estão disponíveis nos estágios $project
, $addFields
, $set
e, começando no MongoDB 5.0, $setWindowFields
.
Nome | Descrição |
---|---|
Retorna uma média da expressão especificada ou lista de expressões para cada documento. Ignora valores não numéricos. | |
Retorna o resultado de uma expressão para o primeiro documento em um grupo. | |
Retorna o resultado de uma expressão para o último documento em um grupo. | |
Retorna o máximo da expressão especificada ou lista de expressões para cada documento | |
Retorna o mínimo da expressão especificada ou lista de expressões para cada documento | |
Retorna o desvio padrão da população dos valores de entrada. | |
Retorna o desvio padrão da amostra dos valores de entrada. | |
Retorna uma soma de valores numéricos. Ignora valores não numéricos. |
Operadores de expressão variável
Nome | Descrição |
---|---|
Define variáveis para uso dentro do escopo de uma subexpressão e retorna o resultado da subexpressão. Aceita parâmetros nomeados. Aceita qualquer número de expressões de argumento. |
Operadores de Janela
Novidades na versão 5.0.
Os operadores de janelas retornam valores de uma extensão definida de documentos de uma coleção, conhecida como janela. Uma janela é definida no estágio $setWindowFields
, disponível a partir do MongoDB 5.0.
Os seguintes operadores de janela estão disponíveis na etapa $setWindowFields
.
Nome | Descrição |
---|---|
Retorna uma array de todos os valores únicos que resultam da aplicação de uma expressão a cada documento. Alterado na versão 5.0: Disponível no estágio | |
Retorna a média da expressão especificada. Ignora valores não numéricos. Alterado na versão 5.0: Disponível no estágio | |
Retorna o número de documentos no grupo ou janela. Diferente do estágio Novidades na versão 5.0. | |
Retorna a covariância populacional de duas expressões numéricas. Novidades na versão 5.0. | |
Retorna a covariância de amostra de duas expressões numéricas. Novidades na versão 5.0. | |
Retorna a posição do documento (conhecida como classificação) relativa a outros documentos na Novidades na versão 5.0. | |
Retorna a taxa média de alteração dentro da janela especificada. Novidades na versão 5.0. | |
Retorna a posição de um documento (conhecido como o número do documento) na partição de estágio Novidades na versão 5.0. | |
Retorna a média móvel exponencial da expressão numérica. Novidades na versão 5.0. | |
Retorna o resultado de uma expressão para o primeiro documento em um grupo ou janela. Alterado na versão 5.0: Disponível no estágio | |
Retorna a aproximação da área abaixo de uma curva. Novidades na versão 5.0. | |
Retorna o resultado de uma expressão para o último documento em um grupo ou janela. Alterado na versão 5.0: Disponível no estágio | |
Retorna o valor máximo resultante da aplicação de uma expressão a cada documento. Alterado na versão 5.0: Disponível no estágio | |
Retorna o valor mínimo que resulta da aplicação de uma expressão a cada documento. Alterado na versão 5.0: Disponível no estágio | |
Retorna uma array de valores que resultam da aplicação de uma expressão a cada documento. Alterado na versão 5.0: Disponível no estágio | |
Retorna a posição do documento (conhecida como classificação) em relação a outros documentos na partição Novidades na versão 5.0. | |
Retorna o valor de uma expressão aplicada a um documento em uma posição especificada em relação ao documento atual na Novidades na versão 5.0. | |
Retorna o desvio padrão da população a partir de uma expressão numérica aplicada a cada documento. Alterado na versão 5.0: Disponível no estágio | |
Retorna o desvio padrão da amostra a partir de uma expressão numérica aplicada a cada documento. Alterado na versão 5.0: Disponível no estágio | |
Retorna a soma dos resultados ao aplicar uma expressão numérica a cada documento. Alterado na versão 5.0: Disponível no estágio |
Lista alfabética de operadores de expressão
Nome | Descrição |
---|---|
Retorna o valor absoluto de um número. | |
Retorna o resultado de uma função de acumulador definida pelo usuário. | |
Retorna o cosseno inverso (arco cosseno) de um valor em radianos. | |
Retorna o cosseno hiperbólico inverso (arco cosseno hiperbólico) de um valor em radianos. | |
Adiciona números para retornar a soma ou adiciona números e uma data para retornar uma nova data. Se adicionar números e uma data, trata os números como milissegundos. Aceita qualquer número de expressões de argumentos, mas, no máximo, uma expressão pode ser resolvida para uma data. | |
Retorna uma array de valores de expressão exclusivos para cada grupo. A ordem dos elementos da array é indefinida. Alterado na versão 5.0: disponível no estágio | |
Retorna | |
Retorna | |
Retorna | |
Retorna o elemento no índice de array especificado. | |
Converte uma array de pares de valores chave em um documento. | |
Retorna o seno inverso (arco seno) de um valor em radianos. | |
Retorna o seno hiperbólico inverso (seno do arco hiperbólico) de um valor em radianos. | |
Retorna a tangente inversa (arco tangente) de um valor em radianos. | |
Retorna a tangente inversa (arco tangente) de | |
Retorna a tangente hiperbólica inversa (arco tangente hiperbólico) de um valor em radianos. | |
Retorna uma média de valores numéricos. Ignora valores não numéricos. Alterado na versão 5.0: disponível no estágio | |
Retorna o tamanho de uma determinada string ou o conteúdo do valor dos dados binários em bytes. Novidades na versão 4.4. | |
Retorna o tamanho em bytes de determinado documento (ou seja, bsontype Novidades na versão 4.4. | |
Retorna o menor número inteiro maior ou igual ao número especificado. | |
Retorna: | |
Concatena qualquer número de strings. | |
Concatena arrays para retornar a array concatenada. | |
Um operador ternário que avalia uma expressão e, dependendo do resultado, retorna o valor de uma das outras duas expressões. Aceita três expressões em uma lista ordenada ou três parâmetros nomeados. | |
Converte um valor para um tipo especificado. | |
Retorna o cosseno de um valor medido em radianos. | |
Retorna o cosseno hiperbólico de um valor medido em radianos. | |
Retorna o número de documentos no grupo ou janela. Novidade na versão 5.0: disponível nos estágios Diferente do estágio | |
Retorna a covariância populacional de duas expressões numéricas. Novidade na versão 5.0: disponível no estágio | |
Retorna a covariância de amostra de duas expressões numéricas. Novidade na versão 5.0: disponível no estágio | |
Adiciona uma série de unidades de tempo a um objeto de data. | |
Retorna a diferença entre duas datas. | |
Constrói um objeto BSON Date considerando as peças constituintes da data. | |
Subtrai uma série de unidades de tempo de um objeto de data. | |
Trunca uma data. | |
Retorna um documento contendo as partes constituintes de uma data. | |
Retorna uma data/hora como um objeto de data. | |
Retorna a data como uma string formatada. | |
Retorna o dia do mês para uma data como um número entre 1 e 31. | |
Retorna o dia da semana para uma data como um número entre 1 (Domingo) e 7 (Sábado). | |
Retorna o dia do ano para uma data como um número entre 1 e 366 (ano bissexto). | |
Converte um valor de graus para radianos. | |
Retorna a posição relativa de um documento classificado. Não há lacunas nas posições. Novidade na versão 5.0: disponível no estágio | |
Retorna a taxa média de alteração dentro da janela especificada. Novidade na versão 5.0: disponível no estágio | |
Retorna o resultado da divisão do primeiro número pelo segundo. Aceita duas expressões de argumento. | |
Retorna a posição de um documento (conhecido como o número do documento) na partição. Novidade na versão 5.0: disponível no estágio | |
Retorna | |
Aumenta e para o expoente especificado. | |
Retorna a média móvel exponencial da expressão numérica. Novidade na versão 5.0: disponível no estágio | |
Seleciona um subconjunto da matriz para retornar uma matriz com apenas os elementos que correspondem à condição do filtro. | |
Retorna um valor do primeiro documento para cada grupo. A ordem só é definida se os documentos estiverem ordenados. Alterado na versão 5.0: disponível no estágio | |
Retorna o maior número inteiro menor ou igual ao número especificado. | |
Define uma função de agregação personalizada. Novidades na versão 4.4. | |
Retorna o valor de um campo especificado de um documento. Você pode usar | |
Retorna | |
Retorna | |
Retorna a hora para uma data como um número entre 0 e 23. | |
Retorna o resultado não nulo da primeira expressão ou o resultado da segunda expressão se a primeira expressão resultar em um resultado nulo. O resultado nulo engloba instâncias de valores indefinidos ou campos ausentes. Aceita duas expressões como argumentos. O resultado da segunda expressão pode ser nulo. | |
Retorna um booleano indicando se um valor especificado está em uma matriz. | |
Pesquisa uma matriz para uma ocorrência de um valor especificado e
retorna o índice da matriz da primeira ocorrência. Se a substring não for encontrada, retorna | |
Pesquisa uma string para uma ocorrência de uma substring e retorna
o índice de bytes UTF-8 da primeira ocorrência. Se a substring não for encontrada, retorna | |
Pesquisa uma string para uma ocorrência de uma substring e retorna o índice de ponto do código UTF-8 da primeira ocorrência. Se a substring não for encontrada, retorna | |
Retorna a aproximação da área abaixo de uma curva. Novidade na versão 5.0: disponível no estágio | |
Determina se o operando é um array. Retorna um booleano. | |
Determina se a expressão é resolvida para um número inteiro, duplo, decimal ou longo. | |
Retorna o número do dia da semana no formato ISO 8601, que varia de | |
Retorna o número da semana no formato ISO 8601, que varia de | |
Retorna o número do ano no formato ISO 8601. O ano começa com a segunda-feira da semana 1 (ISO 8601) e termina com o domingo da última semana (ISO 8601). | |
Retorna um valor do último documento para cada grupo. A ordem só é definida se os documentos estiverem ordenados. Alterado na versão 5.0: disponível no estágio | |
Define variáveis para uso dentro do escopo de uma subexpressão e retorna o resultado da subexpressão. Aceita parâmetros nomeados. Aceita qualquer número de expressões de argumento. | |
Devolva um valor sem analisar. Use para valores que o aggregation pipeline pode interpretar como uma expressão. Por exemplo, use uma expressão | |
Calcula o registro natural de um número. | |
Calcula o registro de um número na base especificada. | |
Calcula a base de log 10 de um número. | |
Retorna | |
Retorna | |
Remove o espaço em branco ou os caracteres especificados do início de uma string. | |
Aplica uma subexpressão a cada elemento de uma matriz e retorna a matriz de valores resultantes em ordem. Aceita parâmetros nomeados. | |
Retorna o valor de expressão mais alto para cada grupo. Alterado na versão 5.0: disponível no estágio | |
Combina vários documentos em um único documento. | |
Acesse os metadados disponíveis por documento relacionados à operação de agregação. | |
Retorna o valor de expressão mais baixo para cada grupo. Alterado na versão 5.0: disponível no estágio | |
Retorna milissegundos de uma data como um número entre 0 e 999. | |
Retorna o minuto para uma data como um número entre 0 e 59. | |
Retorna o restante do primeiro número dividido pelo segundo. Aceita duas expressões de argumento. | |
Retorna o mês para uma data como um número entre 1 (janeiro) e 12 (dezembro). | |
Multiplica números para devolver o produto. Aceita qualquer número de expressões de argumento. | |
Retorna | |
Retorna o valor booleano que é o oposto da expressão do seu argumento. Aceita uma única expressão de argumento. | |
Converte um documento em uma matriz de documentos representando pares chave/valor. | |
Retorna | |
Cria um número para o expoente especificado. | |
Retorna uma matriz de valores de expressão para documentos em cada grupo. Alterado na versão 5.0: disponível no estágio | |
Converte um valor de radianos para graus. | |
gera uma flutuação aleatória entre 0 e 1. | |
Entrai uma matriz contendo uma sequência de inteiros de acordo com entradas definidas pelo usuário. | |
Retorna a posição do documento (conhecida como classificação) em relação a outros documentos classificados. Novidade na versão 5.0: disponível no estágio | |
Aplica uma expressão para cada elemento em uma matriz e a combina em um único valor. | |
Aplica uma expressão regular (regex) a uma string e retorna informações sobre a primeira substring correspondente. | |
Aplica uma expressão regular (regex) a uma string e retorna informações sobre todas as substrings correspondentes. | |
Aplica uma expressão regular (regex) a uma string e retorna um booleano que indica se uma correspondência foi encontrada ou não. | |
Substitui a primeira instância de uma string correspondente em uma determinada entrada. Novidades na versão 4.4. | |
Substitui todas as instâncias de uma string correspondente em uma determinada entrada. Novidades na versão 4.4. | |
Retorna uma array com os elementos em ordem inversa. | |
Arredonda um número para um inteiro ou para uma casa decimal especificada. | |
Remove o espaço em branco ou os caracteres especificados do final de uma string. | |
Selecione documentos aleatoriamente a uma determinada taxa. Embora o exato número de documentos selecionados varie em cada execução, a quantidade escolhida aproxima-se da taxa de amostragem expressa em percentagem do número total de documentos. | |
Retorna os segundos para uma data como um número entre 0 e 60 (segundos bissextos). | |
Retorna um conjunto com elementos que aparecem no primeiro conjunto, mas não no segundo conjunto; isto é, executa um complemento relativo do segundo conjunto relativo ao primeiro. Aceita exatamente duas expressões de argumento. | |
Retorna | |
Adiciona, atualiza ou remove um campo especificado em um documento. Você pode usar Novidades na versão 5.0. | |
Retorna um conjunto com elementos que aparecem em todos os conjuntos de entrada. Aceita qualquer número de expressões de argumento. | |
Retorna | |
Retorna um conjunto com elementos que aparecem em qualquer conjunto de entrada. | |
Retorna o valor de uma expressão aplicada a um documento em uma posição especificada em relação ao documento atual na saída. Novidade na versão 5.0: disponível no estágio | |
Retorna o número de elementos na matriz. Aceita uma única expressão como argumento. | |
Retorna o seno de um valor que é medido em radianos. | |
Retorna o seno hiperbólico de um valor medido em radianos. | |
Retorna um subconjunto de uma array. | |
Divide uma string em substrings com base em um delimitador. Retorna uma matriz de substrings. Se o delimitador não for encontrado dentro da string, retorna uma matriz contendo a string original. | |
Calcula a raiz quadrada. | |
Retorna o desvio padrão da população dos valores de entrada. Alterado na versão 5.0: disponível no estágio | |
Retorna o desvio padrão da amostra dos valores de entrada. Alterado na versão 5.0: disponível no estágio | |
Executa a comparação de string sem distinção de maiúsculas e minúsculas e retorna: | |
Retorna o número de bytes codificados UTF-8 em uma string. | |
Retorna o número de pontos de código UTF-8 em uma string. | |
Obsoleto. Use | |
Retorna a substring de uma string. Começa com o caractere no índice de byte UTF-8 especificado (baseado em zero) na string e continua pelo número de bytes especificado. | |
Retorna a substring de uma string. Começa com o caractere no índice (baseado em zero) do ponto de código (code point) UTF-8 especificado na string e continua com o número de pontos de código especificado. | |
Retorna o resultado da subtração do segundo valor do primeiro. Se os dois valores forem números, retorne a diferença. Se os dois valores forem datas, retorne a diferença em milissegundos. Se os dois valores forem uma data e um número em milissegundos, retorne a data resultante. Aceita duas expressões de argumentos. Se os dois valores forem uma data e um número, especifique o argumento de data primeiro, pois ele não é significativo para subtrair uma data de um número. | |
Retorna uma soma de valores numéricos. Ignora valores não numéricos. Alterado na versão 5.0: disponível no estágio | |
Avalia uma série de expressões de caso. Quando encontra uma expressão que avalia para | |
Retorna a tangente de um valor que é medido em radianos. | |
Retorna a tangente hiperbólica de um valor medido em radianos. | |
Converte o valor em booleano. | |
Converte o valor para uma data. | |
Converte o valor para um Decimal128. | |
Converte o valor em double. | |
Converte o valor para um número inteiro. | |
Converte o valor para um longo. | |
Converte o valor para um ObjectId. | |
Converte o valor para uma string. | |
Converte uma string em minúsculas. Aceita uma única expressão de argumento. | |
Converte uma string em maiúsculas. Aceita uma única expressão de argumento. | |
Remove o espaço em branco ou os caracteres especificados do início e fim de uma string. | |
Trunca um número para um inteiro ou para uma casa decimal especificada. | |
Retorne o tipo de dados BSON do campo. | |
Remove um campo especificado de um documento. Um alias para Novidades na versão 5.0. | |
Retorna o número da semana para uma data como um número entre 0 (a semana parcial que precede o primeiro domingo do ano) e 53 (ano bissexto). | |
Retorna o ano para uma data como um número (por exemplo, 2014). | |
Mesclar dois arrays juntos. |
Para os estágios do pipeline, consulte Estágios do pipeline de agregação.