MongoDB Средний возврат NULL - PullRequest
2 голосов
/ 11 мая 2019

Я использую MongoDB, чтобы получить среднее значение размера двигателя автомобиля.Однако агрегатная функция Average продолжает возвращать NULL.

Часть БД выглядит следующим образом:

 { "_id" : 1, "car" : { "engineSize" : 1.5 }, "addresses" : [ "X", "A" ] } 

 { "_id" : 6, "car" : { "engineSize" : 1.5 }, "addresses" : [ "X" ] }

 { "_id" : 2, "car" : { "engineSize" : 1.3 } }

 { "_id" : 5, "car" : { "engineSize" : 1.4 } } 

 { "_id" : 3, "car" : { "engineSize" : 1 } }

Команда, которую я использую для проверки среднего значения:

db.project.aggregate([{$group : {_id: null, Average: {$avg: "$engineSize"}}}])

Однако, когда я запускаю это, он возвращает:

 { "_id" : null, "Average" : null }

Любые предложения о том, как заставить его вернуть правильное значение (например, 1.24)?

1 Ответ

2 голосов
/ 11 мая 2019

Вы агрегируете не в том поле.Это должно быть

db.collection.aggregate([
  {
    "$group": {
      "_id": null,
      "Average": {
        "$avg": "$car.engineSize"
      }
    }
  }
])
...