我有mongodb这样的200000个文件
{
"_id" : 1,
"a" : [
{
"a1" : 9,
"a2" : 88,
"a3" : 70
}
],
"date" : ISODate("2007-09-11T02:17:39.543Z"),
"b" : [
{
"b1" : 4,
"b2" : 10
}
],
"c" : 2,
}
我必须按小时和按b分组,然后按小时排序。然后输出到具有以下结构的集合:a的每个元素:小时,b和平均值。
以下mongo查询有效,但是c上的组,而不是b。
db.test.aggregate
([
{$unwind: "$a"},
{
$group:
{'_id': {hours:{'$hour':'$date'}, 'c':'$c'},'AVG_parameter':{$avg: "a.a1"}}},
{$sort:{'_id.hours':1}},
{$project:{hours:1, 'c':1,'AVG_parameter':1}}
])
当我尝试按小时和b分组时,avg_parameter保持为0。