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

问题描述

背景:

我希望在我的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
 )

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

感谢您的帮助

解决方法

请尝试以下sql:

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

您可以参考此documentation