我想使用 java 在 cosmos-db 集合中执行“group-by”操作。
但是像这样link显示此功能(“group by”)仍在积极开发中,尚未受支持。
我想要的是这样的
SELECT SUM(some_attribute) FROM collection_name GROUP BY grouping_attribute
有什么方法可以实现相同的功能吗?
我能想到的唯一方法是对每个 grouping_attribute 项执行多个查询,例如
SELECT VALUE SUM(some_attribute) FROM collection_name WHERE grouping_attribute = 'some_value'
“azure-cosmos-db”的 github 存储库确实显示了 example对于分组依据,但这是在内存中而不是在服务器端执行。
最佳答案
如您所见,group by
功能目前仍在积极开发中,因此除了自定义实现之外,从官方文档中找不到任何内容。
我提供了一个工作自定义包,它实现了 cosmos db 的聚合功能,名为 documentdb-lumenize 。
您可以将cube.string
加载为存储过程,然后使用聚合配置调用它。
{cubeConfig: {groupBy: "grouping_attribute", field: "some_attribute", f: "sum"}}
关于java - azure-cosmosdb-java 中的 "group by"功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56609648/