查询复杂CosmosDB文档的干净方法

时间:2020-08-13 20:50:45

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

背景:

我希望在我的JSON文档中找到所有嵌套的Feature字段,这些字段的条件是“ 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
 )

但是,语法不正确,我目前正在研究并寻找这种情况的示例

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

请尝试以下sql:

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

您可以参考此documentation

相关问题