Azure DocumentDB - 按聚合分组
Azure DocumentDB - Group By Aggregates
我在 Elastic Search 中有一个集合,我们在其中存储事件,并在报告中汇总这些事件,例如:
- 上周 events/day 的数量
- 过去 24 小时 events/hour 的数量
我们想迁移到 DocumentDB,但由于不支持 GROUPING,我不知道如何在不进行 7+24 查询的情况下实现它。有什么想法吗?
谢谢
根据我的理解,您想将事件数据作为集合中的文档移动到 DocumentDb。如您所说,DocumentDb 现在不支持聚合操作,但如官方网站所述,将来会支持该功能。但是,根据我的经验,您可以使用 DocumentDb 的存储过程来实现您的需求,并自动计算每个时间段的事件文档数,因为您希望将其存储为新集合的新文档,其中 for per day/hour通过数据库触发,请参考官方教程DocumentDB server-side programming: Stored procedures, database triggers, and UDFs了解
同时,我发现了一个基于 DocumentDb 存储过程的 SO 线程 which is very helpful for you. The answerer has written a library documentdb-lumenize,您可以尝试一下。
有关信息,DocumentDB 现在支持聚合(截至 2017 年 3 月 8 日),用于以下操作:
SUM
和 AVG
用于数值,COUNT
、MIN
和 MAX
用于数字、字符串、布尔值和空值。
Microsoft 官方文档已更新,可查阅here。
请注意,聚合函数尚未添加分组支持;已打开一个 User Voice 问题来请求这个,并且可以投票 here.
我在 Elastic Search 中有一个集合,我们在其中存储事件,并在报告中汇总这些事件,例如:
- 上周 events/day 的数量
- 过去 24 小时 events/hour 的数量
我们想迁移到 DocumentDB,但由于不支持 GROUPING,我不知道如何在不进行 7+24 查询的情况下实现它。有什么想法吗?
谢谢
根据我的理解,您想将事件数据作为集合中的文档移动到 DocumentDb。如您所说,DocumentDb 现在不支持聚合操作,但如官方网站所述,将来会支持该功能。但是,根据我的经验,您可以使用 DocumentDb 的存储过程来实现您的需求,并自动计算每个时间段的事件文档数,因为您希望将其存储为新集合的新文档,其中 for per day/hour通过数据库触发,请参考官方教程DocumentDB server-side programming: Stored procedures, database triggers, and UDFs了解
同时,我发现了一个基于 DocumentDb 存储过程的 SO 线程
有关信息,DocumentDB 现在支持聚合(截至 2017 年 3 月 8 日),用于以下操作:
SUM
和 AVG
用于数值,COUNT
、MIN
和 MAX
用于数字、字符串、布尔值和空值。
Microsoft 官方文档已更新,可查阅here。
请注意,聚合函数尚未添加分组支持;已打开一个 User Voice 问题来请求这个,并且可以投票 here.