我有一组以以下格式存储的文档:
{
'_id': 'bdfc0e7a-720d-49d5-86e4-bce4056b334f',
'agent_id': '69717061b28611e29c6410ddb1b42209',
'campaign_id': 'huts1371065967012',
'data': None,
'metric': 'SESSION_START',
'screen_id': 'piece',
'session_id': '57753353-8cfe-4f6d-88bd-ecfef65b5afd',
'timestamp': 1352947632.59
}
我希望能够使用聚合框架来提取数据,首先按指标键分组,然后根据用户选择使用时间戳键按不同的时间/日期范围分组。用户将被允许按小时、天、周或月分组......
目标是获取单个指标的计数,按用户选择的时间分组(小时、天、周、月)进行细分。为此,我想我将不得不将时间戳键从浮点转换为某种日期对象才能完成此操作?
我希望看到的聚合结果示例(在这个每小时分组的特定示例中):
{
'ok': 1.0,
'result': [
{
'_id': 'SESSION_START_1/1/2013_00',
'metric': 'SESSION_START',
'count': 34,
'timeframe': '1/1/2013 00'
},
{
'_id': 'SESSION_START_1/1/2013_01',
'metric': 'SESSION_START',
'count': 15,
'timeframe': '1/1/2013 01'
},...
]
}
有什么简单的方法可以做到这一点?
谢谢