Mongodb: como calcular o valor médio de um campo


Você pode usar os seguintes métodos para calcular o valor médio de um campo no MongoDB:

Método 1: Calcular a média do campo

 db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])

Método 2: Calcular a média de campo por grupo

 db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $valueField "}}}])

Os exemplos a seguir mostram como usar cada método com uma equipe de coleta com os seguintes documentos:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12})
db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 9})

Exemplo 1: Calcule a média do campo

Podemos usar o seguinte código para calcular o valor médio do campo de ponto :

 db.teams.aggregate([{ $group : {_id: null , avg_val:{$avg: " $points "}}}])

Esta consulta retorna os seguintes resultados:

 { _id: null , avg_val: 26 }

Pelos resultados, podemos ver que o valor médio no campo de pontos é 26 .

Podemos verificar manualmente se isso está correto calculando manualmente a média dos valores dos pontos:

Pontos médios: (30 + 30 + 20 + 25 + 25) / 5 = 26 .

Exemplo 2: calcule a média do campo por grupo

Podemos utilizar o seguinte código para calcular o valor médio do campo pontos , agrupados pelo campo equipe :

 db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])

Esta consulta retorna os seguintes resultados:

 { _id: ' Spurs ', avg_val: 23.333333333333332 }
{ _id: ' Mavs ', avg_val: 30 }

Dos resultados podemos ver:

  • O valor médio de pontos para os Spurs é 23,33 .
  • O valor médio de pontos para os Mavs é 30 .

Nota : Você pode encontrar a documentação completa da função $avg aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no MongoDB:

MongoDB: Como adicionar um novo campo
MongoDB: Como excluir um campo
MongoDB: Como agrupar e contar
MongoDB: Como agrupar por vários campos

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *