Azure DocumentDB - 按聚合分组

时间:2017-03-01 13:28:15

标签: azure-cosmosdb

我在Elastic Search中收集了一个我们存储事件的集合,并在以下报告中汇总这些集合:

  • 上周的活动数/天
  • 过去24小时内的活动数/小时数

enter image description here

我们想转移到DocumentDB,但不支持GROUPING,我不知道如何在不进行7 + 24查询的情况下实现这一点。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:5)

有关信息,DocumentDB现在支持聚合(截至2017年3月8日),用于以下操作:

数字值为{p> contains(text(), "Text")SUM,数字,字符串,布尔值和空值为AVGCOUNTMIN

官方Microsoft文档已更新,可以找到here

请注意,分组支持尚未添加到聚合函数;已打开用户语音问题以请求此问题,并且可以投票here

答案 1 :(得分:4)

根据我的理解,您希望将事件数据作为集合中的文档移动到DocumentDb。正如您所说,DocumentDb现在不支持聚合操作,但该功能将在未来得到支持,正如官方网站所说。但是,根据我的经验,您可以使用DocumentDb的存储过程来实现您的需求,并自动计算每个时段的事件文档数量,以便将其存储为新集合的新文档(每天/小时)通过数据库触发器,请参阅官方教程DocumentDB server-side programming: Stored procedures, database triggers, and UDFs以了解它。

与此同时,我发现了一个SO线程Grouping by a field in DocumentDB,对你非常有帮助。应答者根据DocumentDb存储过程编写了一个库documentdb-lumenize,您可以尝试使用它。