我有一个包含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' },
...
} }
] );