0

我有一组具有以下结构的文档:

"_id" : "20130104/activity",
"hourly" : {
    "0" : {
        "activity1" : 25,
        "activity2" : 10
    },
    "1" : {
        "activity1" : 25,
        "activity2" : 10,
        "activity3" : 5
    },
    "2" : {
        "activity1" : 25,
        "activity2" : 10,
        "activity3" : 5
    }
    }

我希望能够汇总这些数据,以便能够生成每月和每日统计数据,如此处显示的文档:

"date" : "20130104",
"total" : {
        "activity1" : 75,
        "activity2" : 30,
        "activity3" : 10
          }

我的问题是我事先不知道每小时子文档中的键名 - 这使得使用聚合框架非常困难。(或者也许我只是误解了一些东西)。

有什么建议么?

4

1 回答 1

0

此处可以使用 map reduce 来计算报告数据,因为您不需要知道键的名称。另一种方法是,因为我们一天 24 小时,您总是可以拥有一个具有 24 小时密钥的文档,然后您就可以轻松地使用聚合框架。即使这种方法也会给你带来性能提升,这是常见的模式

于 2013-04-06T04:31:11.023 回答