Azure Cosmos DB:如何统计子文档中嵌套键的数量?
Azure Cosmos DB统计子文档键数量的实现方法
Azure Cosmos DB的SQL查询没有直接对应JavaScript中Object.keys(nested).length的运算符,但可以通过内置函数组合实现相同效果:
- 使用
OBJECT_TO_ARRAY函数将子文档转换为键值对数组,比如会把{ key1: true, key2: false }转为[{"key":"key1","value":true},{"key":"key2","value":false}] - 再用
ARRAY_LENGTH函数获取该数组的长度,这个长度就是子文档的键数量
示例查询语句:
SELECT ARRAY_LENGTH(OBJECT_TO_ARRAY(c.nested)) AS nestedKeyCount FROM c WHERE c.id = 1
执行后会返回{"nestedKeyCount": 2},和Object.keys(nested).length的结果一致。
内容的提问来源于stack exchange,提问作者mickl
相关产品推荐
相关产品推荐

