我每小时的一些数据看起来像这样:
{
"high" : 4686.87,
"low" : 4671.11,
"open" : 4671.12,
"count" : 833,
"volume" : 283.194184560001,
"close" : 4678.51
}
...
{
"high" : 4735,
"low" : 4670.82,
"open" : 4734.88,
"count" : 1586,
"volume" : 405.721894079999,
"close" : 4671.12
}
...
我想每隔7天(每7份文件)进行分组。像这样:
db.getCollection('ticks').aggregate({$sort:{_id: -1}}, {$group: {
id: // every 7 docs,
open: { $first: '$open' },
close: { $last: '$close' },
high: { $max: '$high' },
low: { $min: '$low' },
volume: { $sum: '$volume' }
}});
什么" id"我应该使用或如何添加一个允许我使其工作的新字段?
注意:我知道我可以使用这些数据在一年中的每个星期进行分组,但并不是每周都要这样做。我已经有一个每周聚合。我希望最后7天汇总,可以在两周时间内传播