我想对我的CosmosDb做一些报道
我的查询
Select Max(c.results.score) from c
这有效,但我想得到最高分的id然后我得到一个例外
Select c.id, Max(c.results.score) from c
'c.id'在选择列表中无效,因为它不包含在 聚合函数
答案 0 :(得分:1)
您可以执行以下查询来存档您所询问的内容(认为它在RU /执行时间条件下效率不高):
Select TOP 1 c.id, c.results.score from c ORDER BY c.results.score DESC
答案 1 :(得分:0)
Cosmos DB本身不支持分组依据,因此没有开箱即用的方法来执行此查询。
要使用开箱即用功能实现此功能,您需要创建一个包含汇总输出的新文档类型,例如:
{ “id”:1, “最高分数”:1000 }
然后,您需要在应用程序中使用一个流程来保持最新状态。
还有documentdb-lumenize允许您使用存储过程执行此操作。我自己没有使用它,但可能值得研究以上解决方案的替代方案。
链接是: