Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Variáveis em Expressões de Agregação

Nesta página

  • Variáveis do Usuário
  • Variáveis do sistema

As expressões de agregação podem usar variáveis definidas pelo usuário e do sistema.

As variáveis podem conter qualquer tipos de BSON. Para acessar o valor da variável, prefixe o nome da variável com sinais de dólar duplo ($$); ou seja, "$$<variable>".

Se a variável fizer referência a um objeto, para acessar um campo específico no objeto, use a notação de ponto; ou seja, "$$<variable>.<field>".

Os nomes de variáveis de usuário podem conter os caracteres ascii [_a-zA-Z0-9] e qualquer caractere não ascii.

Os nomes de variáveis de usuário devem começar com uma letra ascii de letra minúscula [a-z] ou um caractere não ascii.

O MongoDB oferece as seguintes variáveis do sistema:

Variável
Descrição
NOW
Uma variável que retorna o valor de data/hora atual. NOW retorna o mesmo valor para todos os membros do sistema e permanece o mesmo em todas as etapas do aggregation pipeline.
CLUSTER_TIME

Uma variável que retorna o valor do registro de data e hora atual.

CLUSTER_TIME está disponível apenas em conjuntos de réplica e clusters fragmentados.

CLUSTER_TIME Retorna o mesmo valor para todos os membros da implantação e permanece o mesmo em todos os estágios do pipeline.

ROOT
Faz referência ao documento raiz, ou seja, o documento de nível superior, atualmente sendo processado no estágio aggregation pipeline .
CURRENT

Faz referência ao início do caminho do campo que está sendo processado nos aggregation pipeline stages. A menos que seja documentado de outra forma, todos os estágios começam com CURRENT , o mesmo que ROOT.

CURRENT é modificável. No entanto, como $<field> é equivalente a $$CURRENT.<field>, a religação CURRENT altera o significado dos acessos a $ .

REMOVE

Uma variável que avalia o valor ausente. Permite a exclusão condicional de campos. Em um $project, um campo configurado para a variável REMOVE é excluído da saída.

Para um exemplo de seu uso, consulte Excluir campos condicionalmente.

DESCEND
Um dos resultados permitidos de uma expressão $redact.
PRUNE
Um dos resultados permitidos de uma expressão $redact.
KEEP
Um dos resultados permitidos de uma expressão $redact.
SEARCH_META

Uma variável que armazena os resultados de metadados de uma query do Atlas Search . Em todos os aggregation pipeline stages compatíveis, um campo definido para a variável $$SEARCH_META retorna os resultados de metadados para a query.

Para obter um exemplo de seu uso, consulte a facet e contagem do Atlas Search.

USER_ROLES

Retorna as roles atribuídas ao usuário atual.

Para casos de uso que incluem USER_ROLES, consulte os exemplos localizar, agregação, visualizar, updateOne, updateMany e findAndModify.

Novidades na versão 7,0.

Dica

Veja também:

← Comparação de comandos de agregação