Cosmos DB SQL 查询数组中具有给定条件的子项

CosmosDB SQL query on child item in array with a given conditiion

我正在使用 CosmosDB,我必须处理如下所示的集合

[
  {
    "detected": [
      {
        "class": "person",
        "probability": 94.24896240234375,
        "centroid": {
          "x": 242,
          "y": 151
        },
        "is_tracked": false
      }
    ]
  },
  {
    "detected": [
      {
        "class": "person",
        "probability": 64.25231099128723,
        "centroid": {
          "x": 355,
          "y": 259
        },
        "is_tracked": true
      },
      {
        "class": "person",
        "probability": 50.44138431549072,
        "centroid": {
          "x": 185,
          "y": 183
        },
        "is_tracked": true
      }
    ]
  }
]

我想编写一个 SQL 查询,允许我 select xy 对象中的所有 centroidis_tracked 设置为 true。 原则上,我正在寻找的查询 return 类似于以下内容:

[
  {
    "x": 355,
    "y": 259
  },
  {
    "x": 185,
    "y": 183
  }
]

我已经试过了

SELECT c.detected FROM c WHERE ARRAY_CONTAINS(c.detected, {'is_tracked': true}, true)

我得到了上面发布的内容。但是,我不知道如何进一步过滤。

非常感谢任何帮助

请使用以下sql:

SELECT detect.centroid.x as x,detect.centroid.y as y FROM c
join detect in c.detected
where detect.is_tracked = true

输出: