我正在尝试为 DocumentDB 中的文档计数提供一个简单、平面的输出。例如,如果我有以下三个文档:
{
"id": "1",
"statusId": "new",
}
{
"id": "2",
"statusId": "new",
}
{
"id": "3",
"statusId": "complete",
}
如果我在 Azure 查询资源管理器中运行此命令:
select Value Count(1) from c
where c.statusId = "new"
我明白了:
[
2
]
我试图弄清楚如何产生一个看起来像这样的结果:
{
"new": 2,
"complete" : 1
}
即使这是不可能的,也可以一次在同一窗口中运行多个选择。但是,当我尝试这样做时,我在查询资源管理器中收到语法错误,即
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'.
最佳答案
根据您的描述,您希望在 azure cosmosdb 查询中实现像 SELECT COUNT(*) FROM XXX GROUP BY XXX
这样的函数。
根据我的经验,SQL 中的 azure cosmosdb 聚合
功能仅限于 COUNT、SUM、MIN、MAX、AVG
函数。 azure cosmosdb 不支持 GROUP BY
或其他聚合功能现在。
但是,可以使用存储过程
或UDF
来实现您的聚合需求。
你可以引用一个很棒的包documentdb-lumenize基于DocumentDb存储过程。
希望对您有帮助。
关于javascript - 如何在 DocumentDB 中得出平面计数输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47598690/