NYC MUG/SimpleReachスキーマに触発されたリアルタイム メトリック システムからレポート データを取得しようとしていますが、おそらく私の心はまだ SQL モードにとらわれています。
データは次のようにドキュメントに保存されます...
{
"_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'
*/
}
}
任意の助けをいただければ幸いです。
(ps。このドキュメントスキーマを使用して日付範囲検索を行う方法について何か考えがある人はいますか?)