计算mongodb文档的平均值

use*_*268 2 average mongodb aggregation-framework

假设我有一个这样的集合:

{
  _id: 1,
  city: "New York",
  state: "NY",
  murders: 328
}

{
  _id: 2,
  city: "Los Angeles",
  state: "CA",
  murders: 328
}

...
Run Code Online (Sandbox Code Playgroud)

该系列向我们展示了美国所有城市的谋杀案数量.我想计算全国所有谋杀案的平均数.我试着用

$group:

db.murders.aggregate([{$group: {_id:"$state", pop: {$avg:"$murders"} } }])
Run Code Online (Sandbox Code Playgroud)

但是我得到了州政府的谋杀案:

{ "_id" : "NY", "murders" : 200 }

{ "_id" : "NJ", "murders" : 150 }

{ "_id" : "CA", "murders" : 230 }

{ "_id" : "CT", "murders" : 120 }
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将此结果分组以计算出一个独特的平均值?像这样的东西:

{ "_id" : "USA", "murders" : 175 }
Run Code Online (Sandbox Code Playgroud)

jza*_*ata 12

尝试按null分组.

db.murders.aggregate([{$ group:{_ id:null,pop:{$ avg:"$ murders"}}}])

更多信息