$avg (Acumulador de Média)

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

$avg (Acumulador de Média)

$avg é um acumulador que calcula a média de um campo em um grupo dentro de $group, ou a média dos elementos de um array em $project. Ele ignora valores null e ausentes, calculando a média apenas dos números. Comum em relatórios; a expressão cuja média é calculada pode ser arbitrariamente complexa.

CategoriaAcumuladores
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $group: { _id: <key>, avg: { $avg: "$field" } } }  // ou calcule a média de um array em $project

Retorno:Média numérica (valores null e ausentes ignorados)

▶ Exemplo

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

// $avg: preço médio por item
db.sales.aggregate([
  { $group: { _id: '$item', avg: { $avg: '$price' } } }
])

Saída:

{ "_id": "Pen", "avg": 45.5 }
{ "_id": "Book", "avg": 12.0 }

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QO que acontece quando $avg encontra um campo ausente?
AValores ausentes e null são ignorados; apenas os números presentes entram na média.
Q$avg pode ser usado em $project?
ASim, ele calcula a média dos elementos do array, por exemplo { $project: { a: { $avg: '$scores' } } }.
QComo calculo uma média ponderada?
AAcumule valor-vezes-peso com $sum e divida pela $sum dos pesos.
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%