MongoDB平均返回NULL

时间:2019-05-11 14:11:38

标签: mongodb mongodb-query aggregation-framework

我正在使用MongoDB来获取汽车引擎尺寸的平均值。但是,聚合的平均值函数始终返回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 个答案:

答案 0 :(得分:2)

您正在汇总错误的字段。一定是

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