$add (Adição)

Última atualização: 2026-10-09

$add (Adição)

$add realiza adição dentro de expressões de agregação. Ele soma vários números, adiciona uma quantidade de milissegundos a uma data ou retorna uma nova data a partir de uma data mais milissegundos. É comumente usado em $project, $addFields ou $set para calcular totais, como preço mais imposto. Os argumentos são passados como um array com pelo menos dois elementos; se qualquer argumento for null ou estiver ausente, toda a expressão retorna null. Para calcular a diferença em milissegundos entre duas datas, use $subtract.

CategoriaMatemática
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $add: [ <expressão1>, <expressão2>, ... ] }

⚙️ Parâmetros

operandoValores numéricos, datas ou expressões que resolvam para eles; pelo menos dois.

Retorno:A soma dos números; data mais milissegundos retorna uma data

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $add: calcular total com imposto
db.orders.aggregate([
  { $project: {
      total: { $add: ['$price', '$tax'] }
  } }
])

Saída:

{ '_id': 1, 'total': 110 }
{ '_id': 2, 'total': 55 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $add e $sum?
A$sum é um acumulador usado em $group para somar valores entre documentos; $add é uma expressão geral que soma os valores de um array.
QO $add pode adicionar dias a uma data?
ANão diretamente — o número é tratado como milissegundos. Multiplique por 86400000 antes, ou use $dateAdd com a unidade day para maior clareza.
QO que acontece quando $add encontra null?
ASe qualquer argumento for null ou estiver ausente, o resultado é null; envolva com $ifNull quando precisar de um padrão.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%