具有未知键名称的子文档的聚合

时间:2013-04-05 23:42:35

标签: mongodb

我有一系列具有以下结构的文件:

"_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
          }

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这里可以使用

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

相关问题