json - 查询复杂 CosmosDB 文档的简洁方法

标签 json azure nosql azure-cosmosdb azure-cosmosdb-sqlapi

背景:

我希望找到 JSON 文档中所有嵌套的 Features 字段,这些字段的条件为“state”=“new”且 length(Features.id) > 4

      {
          "id": "123"
          "feedback" : {
             "Features" : [
                              {
                                "state":"new"
                                "id": "12345"

                              }
        

                          ]
     }

这是我尝试做的:

因为这是一个嵌套文档。我的查询如下所示:

 SELECT
 c.feedback
 ARRAY(SELECT Features.state FROM c IN c.Features) AS Features FROM 
 c
 WHERE length(Features.id) >15

或者也许我必须这样做:

   SELECT VALUE c.feedback.Features
   FROM c
   WHERE EXISTS(
   SELECT VALUE n
   FROM c IN c.Features
    WHERE f.state = "NotLinked” AND length(c.id) > 15
 )

但是,语法不正确,我目前正在研究和寻找此案例的示例

感谢任何帮助

最佳答案

请尝试这个sql:

SELECT DISTINCT c.feedback FROM c join d in c.feedback.Features where d.state = "new" and length(d.id) > 4

可以引用这个documentation .

关于json - 查询复杂 CosmosDB 文档的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63403034/

相关文章:

javascript - 解析特定字符串 Javascript (Node.js)

python - 为azure python delete_by_id方法获取正确的api版本

Azure OpenID 连接应用程序提示脱机访问

azure - 如何获取经过身份验证的用户的电子邮件 ID?

nosql - 列族数据库分片和复制 [NoSQL Distilled]

json - 如何在我的 DialogFlow 请求中找到 JSON 错误?

javascript - 使用 JSON 数组填充phonegap sqlite 数据库

javascript - 在 extjs 可编辑网格数据中编辑值时如何删除脏标志?

go - 对多个文档进行乐观锁定

在Redis中存储关系数据的Java框架