我不确定这在纯mongo
中是否可行。我查看了Mongo Aggregate和Map Reduce。
我有以下collection
:
{
id: 1
activity: "running"
result: {
distance: 10
duration: 20
}
},
{
id: 2
activity: "running"
result: {
distance: 30
duration: 40
}
},
{
id: 3
activity: "weightlifting"
result: {
reps: 10
weight: 30
}
}
现在,我想获得average
中某field
result
部分item
内任意collection
的{{1}}。< / p>
例如:我获取了所有running
activities
,并希望获得distance
和duration
的平均值。但是我想动态地查询它。没有明确说明distance
和duration
。我唯一知道的是:“我想要的字段在对象的results
部分内。”
输出类似于:
{
activity: "running"
result: {
distance: 20
duration: 30
}
}
目前我有一个解决方案,可以将某种类型的所有活动提取到Node
,并使用Javascript
动态确定平均值。虽然我很想知道我是否可以直接在Mongo
中执行此操作。