Mongodb: como calcular a soma de um campo


Você pode usar os seguintes métodos para calcular a soma dos valores em um campo no MongoDB:

Método 1: Calcule a soma do campo

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

Método 2: calcular a soma dos campos por grupo

 db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $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 soma do campo

Podemos usar o seguinte código para calcular a soma dos valores no campo de pontos :

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

Esta consulta retorna os seguintes resultados:

 { _id: null , sum_val: 130}

Pelos resultados, podemos ver que a soma dos valores no campo de pontos é 130 .

Podemos verificar manualmente se isso está correto calculando manualmente a soma dos valores dos pontos:

Soma dos pontos: 30 + 30 + 20 + 25 + 25 = 130 .

Exemplo 2: calcule a soma dos campos por grupo

Podemos utilizar o seguinte código para calcular a soma dos valores do campo pontos , agrupados pelo campo equipe :

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

Esta consulta retorna os seguintes resultados:

 { _id: ' Spurs ', sum_val: 60 }
{ _id: ' Mavs ', sum_val: 70 }

Dos resultados podemos ver:

  • O total de pontos para o Spurs é 60 .
  • O total de pontos para os Mavs é 70 .

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

Recursos adicionais

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

Como calcular o valor mediano no MongoDB
Como calcular o valor médio no MongoDB
Como calcular o valor máximo no MongoDB

Add a Comment

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