当前位置: 首页 > 知识库问答 >
问题:

Azure Cosmos DB SQL API嵌套数组查询

葛高澹
2023-03-14

我需要以下问题的帮助。我有以下JSON:(https://pastecode.io/s/sg2kJB0PLD)

"cities": 
[  
    {
        "name" : 'NYC',
        "neighbourhoods":
        {
            "buildings":
            [
                {
                  "grade": "A",
                    
                },
                {
                  "grade": "B"
                },
                {
                  "grade": "C"
                }
            ]
        }
    },
    {
        "name" : 'CHICAGO',
        "neighbourhoods":
        {
            "buildings":
            [
                {
                  "grade": "D",
                    
                },
                {
                  "grade": "E"
                },
                {
                  "grade": "F"
                }
            ]
        }
    }
]

我需要通过使用Cosmos Db上的SQL查询来检查是否有任何建筑物的等级等于“F”。

任何资源都将不胜感激。

谢谢

共有1个答案

上官德寿
2023-03-14

您可以使用ARRAY_CONTAINS函数来实现这一点。

类似这样的SQL:

SELECT value r 
FROM r IN c.cities 
WHERE Array_contains(r.neighbourhoods.buildings,{"grade":"F"},true)

结果:

[
    {
        "name": "CHICAGO'",
        "neighbourhoods": {
            "buildings": [
                {
                    "grade": "D"
                },
                {
                    "grade": "E"
                },
                {
                    "grade": "F"
                }
            ]
        }
    }
]
 类似资料:
  • 我问了这个问题作为对另一个问题的评论,也在mongodb-user上发布了一个问题。到目前为止没有回复,所以我求助于问一个单独的问题。 文件说明: 如果字段包含一个数组,则$in操作符选择其字段包含数组的文档,该数组至少包含一个与指定数组中的值匹配的元素(例如,等等) 我正在使用: 在MongoDB外壳中: 下面是应根据文档及其生成的结果工作的查询列表: 为什么这个不行? 为什么我需要所有的钱?

  • 问题内容: 我想使用ES进行图书搜索。因此,我决定将作者姓名和标题(作为嵌套文档)放入索引,如下所示: 我不明白的是:如何构造搜索查询,以便在搜索“一二”时仅找到第二本书,而在搜索“二三”时什么也找不到,而在搜索“一”时所有图书呢? 问题答案: 也许是这样的? 该查询基本上说一个文件必须有and 。您可以轻松地重新配置该查询。例如,如果您只想搜索作者,请删除嵌套部分。如果您想要另一本书,请更改嵌套

  • 问题内容: 我有一个从数据库(JSON MySQL中的数据存储)检索数据的程序。 我设法得到对象。输出为: JSON对象: 我需要有关如何处理数据并将信息放入不同数组/对象的建议。例如 谢谢。 问题答案: 您可以使用Jackson Api来实现。 您必须创建与json对象相同的Pojo类(该类应具有“ attributes”,“ uuid”之类的成员)。 这是您必须使用的类 和代码 现在,您可以使

  • 我试图查询与特定用户至少有一种共同颜色的所有用户,我已经能够做到这一点,但是我无法弄清楚如何我的结果,以便我可以得到一个用户以及他们共有的颜色。 我的示例用户文档的一部分如下: 这是我的查询,用于获取与另一个具有红色、橙色和绿色的用户相同的颜色: 如何使用共同的颜色聚合用户?

  • 问题内容: 假设我有一个对象: 我想找到一个id为1的对象。是否有类似这样的功能?我可以使用Underscore的方法,但必须从顶部开始然后向下过滤。 问题答案: 递归是您的朋友。我更新了该函数以说明属性数组:

  • 如何根据数组的嵌套数组中的两个值参数进行查询?目标是返回具有和。 尝试了以下查询但没有成功。