MongoDB在动态密钥上的平均值

时间:2016-06-22 18:03:54

标签: node.js mongodb mapreduce aggregation-framework

我不确定这在纯mongo中是否可行。我查看了Mongo AggregateMap 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,并希望获得distanceduration的平均值。但是我想动态地查询它。没有明确说明distanceduration。我唯一知道的是:“我想要的字段在对象的results部分内。”

输出类似于:

{
    activity: "running"
    result: {
        distance: 20
        duration: 30
    }
}

目前我有一个解决方案,可以将某种类型的所有活动提取到Node,并使用Javascript动态确定平均值。虽然我很想知道我是否可以直接在Mongo中执行此操作。

0 个答案:

没有答案