如何聚合我的文档中的所有现有字段

时间:2018-05-10 13:59:26

标签: mongodb aggregation-framework

我有一个包含54个字段的嵌套文档。它看起来像这样:

{
    "_id" : ObjectId("5af3a985d9ce8a20f726366f"),
    "sampling_time" : ISODate("2018-05-10T09:08:05.458Z"),
    "enose_id" : "node1",
    "value" : [
        {
            "Seconds" : 0,
            "MQ5_ALCOHOL" : 10.51,
            "MQ3_BENZINE" : 0,
            ...
            "MQ138_PROPANE" : 4.47,
            "MQ4_H2" : 72.2
        },
        ...
}

如何在不指定“value”键中的所有字段的情况下进行聚合(SUM,MIN,MAX,MEAN,STD)?如何避免这种情况:

db.collection.aggregate( [
{ $unwind: "$value" },
{ $group: {
    _id: '$_id', 
    MQ5_ALCOHOL_SUM: { $sum: '$value.MQ5_ALCOHOL' },
    MQ3_BENZINE_SUM: { $sum: '$value.MQ3_BENZINE' },
    MQ138_PROPANE_SUM: { $sum: '$value.MQ138_PROPANE' },
    MQ4_H2_SUM: { $sum: '$value.MQ4_H2' },
    ...
} } 
] );

0 个答案:

没有答案