我正在尝试为DocumentDB中的文档计数提供一个简单,平坦的输出。例如,如果我有以下三个文件:
{
"id": "1",
"statusId": "new",
}
{
"id": "2",
"statusId": "new",
}
{
"id": "3",
"statusId": "complete",
}
如果我在Azure Query Explorer中运行它:
select Value Count(1) from c
where c.statusId = "new"
我明白了:
[
2
]
我想弄清楚怎么做的是产生一个看起来某事的结果:
{
"new": 2,
"complete" : 1
}
即使不可能,也可以一次在同一个窗口中运行多个选择。但是当我尝试在Query Explorer中遇到语法错误时,即
select Value Count(1) from c
where c.statusId = "new"
select Value Count(1) from c
where c.statusId = "complete"
生成
Syntax error, incorrect syntax near 'select'.
答案 0 :(得分:2)
根据您的描述,您希望在azure cosmosdb查询中实现SELECT COUNT(*) FROM XXX GROUP BY XXX
之类的函数。
根据我的经验,SQL中的azure cosmosdb aggregation
功能仅限于COUNT, SUM, MIN, MAX, AVG
个功能。 azure cosmosdb现在不支持GROUP BY
或其他聚合功能。
但是,stored procedures
或UDF
可用于实现您的汇总要求。
您可以根据DocumentDb存储过程引用一个很棒的包documentdb-lumenize。
希望它对你有所帮助。
答案 1 :(得分:0)
我很害怕,我没有给你一个简单的答案。您可以在获得结果后构建所需的JSON。
和第二,今天你不能在查询窗口中执行两个select语句。