在我的
pr
我要使用的集合
$group
结合
$avg
要获得特定字段的一些平均值,请执行以下操作:
第一个示例文档:
{
"_id" : "MRoPGeY7atYiPm5nW",
"HO" : "dfd>prZKfHepCR7jEB2Lk",
"SP" : 22,
"pInfos" : [
{
"pId" : "A",
"pK" : "B"
}
],
"Fs" : {
"CC" : {
"Output" : {
"CCOutput" : 24,
"CCOutput2" : 26
},
"FsResult" : 28
}
},
"SPS" : 30
}
第二个示例文档:
{
"_id" : "AAoPGeY7atYiPm5nW",
"HO" : "dfd>prZKfHepCR7jEB2Lk",
"SP" : 12,
"pInfos" : [
{
"pId" : "A",
"pK" : "B"
}
],
"Fs" : {
"CC" : {
"Output" : {
"CCOutput" : 24,
"CCOutput2" : 26
},
"FsResult" : 28
}
},
"SPS" : 30
}
有多个具有相同结构的文档。我现在需要得到
SP
对于所有具有相同
HO
领域我使用Meteohacks包可以将mongos聚合与meteor一起使用,因此我的聚合查询可能与本机查询有很大不同。我通过此查询获取值:
pr.aggregate(
{ $match: { HO: "dfd>prZKfHepCR7jEB2Lk"} },
{ $group: { _id: '$HO', total: { $avg: '$SP' } } },
{ $project: {total:1, _id:0 } }
);
我得到了我想要的结果:
[ {_id: 'dfd>prZKfHepCR7jEB2Lk', total: 17 } ]
但是,我无法获得嵌套字段的平均值,如
CCOutput
或
FsResult
来自具有相同
HO公司
领域此外,我还不清楚如何使用嵌套字段,如
pK
对于
$match
,因为我还需要
SP公司
,则,
C输出
和
FsResult公司
对于所有具有相同
主键
例如,字段。
我认为使用
$匹配
和
$组
使用嵌套字段也可以使用meteorhacks。