我的数据样本,我使用桶分组,因为一个月或一天的数据,而{ out: { minMathPoint: { $min: '$result.0.point' }}}
不是工作。
[{
name: 'studen_a',
results: [{
subject: 'Math',
point: 9,
}, {
subject: 'Physical',
point: 10,
}]
}, {
name: 'studen_b',
results: [{
subject: 'Math',
point: 8,
}, {
subject: 'Physical',
point: 8,
}]
}, {
name: 'studen_c',
results: [{
subject: 'Math',
point: 10,
}, {
subject: 'Physical',
point: 8,
}]
}, {
name: 'studen_d',
results: [{
subject: 'Math',
point: 9,
}, {
subject: 'Physical',
point: 8,
}]
}]
我如何获得仅数学点的最小值/最大值/平均值
我试过平均数学点{ $avg: '$result.0.point'}
或{ $avg: '$result.point'}
它不起作用
您可以使用聚合
db.collection.aggregate([
{ "$unwind": "$results" },
{ $match: { "results.subject": "Math" } },
{
"$group": {
"_id": null,
"avg": { "$avg": "$results.point" },
"min": { "$min": "$results.point" },
"max": { "$max": "$results.point" }
}
}
])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句