Я пытаюсь извлечь данные отчета из системы показателей реального времени, вдохновленной схемой NYC MUG/SimpleReach, и, возможно, мой ум все еще застрял в режиме SQL.агрегирование данных метрик в mongodb
Данные хранятся в документе, как так ...
{
"_id": ObjectId("5209683b915288435894cb8b"),
"account_id": 922,
"project_id": 22492,
"stats": {
"2009": {
"04": {
"17": {
"10": {
"sum": {
"impressions": 11
}
},
"11": {
"sum": {
"impressions": 603
}
},
},
},
},
}}
и я пытался различные варианты агрегации трубопровода без успеха.
db.metrics.aggregate({
$match: {
'project_id':22492
}}, {
$group: {
_id: "$project_id",
'impressions': {
//This works, but doesn't sum up the data...
$sum: '$stats.2009.04.17.10.sum.impressions'
/* none of these work.
$sum: ['$stats.2009.04.17.10.sum.impressions',
'$stats.2009.04.17.11.sum.impressions']
$sum: {'$stats.2009.04.17.10.sum.impressions',
'$stats.2009.04.17.11.sum.impressions'}
$sum: '$stats.2009.04.17.10.sum.impressions',
'$stats.2009.04.17.11.sum.impressions'
*/
}
}
любая помощь будет принята с благодарностью.
(пс. Кто-нибудь есть какие-либо идеи о том, как сделать поиск диапазона дат, используя этот документ схему?)