Mongodb: как рассчитать среднее значение поля


Вы можете использовать следующие методы для расчета среднего значения поля в MongoDB:

Метод 1: вычислить среднее значение по полю

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

Метод 2. Рассчитайте среднее значение по полю для каждой группы.

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

В следующих примерах показано, как использовать каждый метод с командой по сбору данных со следующими документами:

 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})

Пример 1. Вычисление среднего значения по полю

Мы можем использовать следующий код для расчета среднего значения поля точек :

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

Этот запрос возвращает следующие результаты:

 { _id: null , avg_val: 26 }

Из результатов мы видим, что среднее значение в поле точек равно 26 .

Мы можем вручную убедиться, что это правильно, вручную усредняя значения точек:

Среднее количество баллов: (30 + 30 + 20 + 25 + 25) / 5 = 26 .

Пример 2: вычислить среднее значение поля по группе

Мы можем использовать следующий код для расчета среднего значения поля очков , сгруппированного по полю команды :

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

Этот запрос возвращает следующие результаты:

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

По результатам мы видим:

  • Среднее значение очков для «Шпор» составляет 23,33 .
  • Среднее значение баллов для Mavs составляет 30 .

Примечание . Полную документацию по функции $avg можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в MongoDB:

MongoDB: как добавить новое поле
MongoDB: как удалить поле
MongoDB: как группировать и считать
MongoDB: как группировать по нескольким полям

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *