📜  DocumentDB SQL-数组创建(1)

📅  最后修改于: 2023-12-03 15:30:32.946000             🧑  作者: Mango

DocumentDB SQL-数组创建

Azure Cosmos DB是一项多模型数据库服务,它支持主要NoSQL模型和API,包括DocumentDB SQL。 DocumentDB SQL是Azure Cosmos DB中用于访问和查询数据的主要API。

Azure Cosmos DB中的所有数据都存储在作为容器的集合中。集合可以包含各种文档类型,包括简单的JSON对象,嵌套对象和数组。

数组

在DocumentDB SQL中,数组是包含零个或多个项目的列表。数组中的项目可以是各种类型,例如字符串,数字,嵌套对象等。可以在查询中访问数组的单个项目,可以使用数组之间的关系进行查询,例如包含和相交等。

创建数组

在DocumentDB中,创建数组是将项目列表组合到方括号中。下面是一些示例:

{
    "fruits": ["apple", "banana", "orange"]
}

在上面的示例中,"fruits"属性包含一个具有三个元素的字符串数组。 数组可以为空,例如:

{
    "fruits": []
}
访问数组

可以使用数组索引访问数组中的单个项目。数组索引从零开始,例如,“fruits”属性中的第一个元素是[0]:

SELECT c.fruits[0] FROM c

上面的查询返回“apple”。

查询数组

可以使用数组查询运算符来对包含数组属性的文档进行查询。 下面是一些示例:

使用ARRAY_CONTAINS查找包含特定值的数组。

SELECT * FROM c WHERE ARRAY_CONTAINS(c.fruits, 'apple')

上面的查询将返回包含“apple”水果的所有文档。

使用ARRAY_LENGTH查找具有指定数量的数组元素的文档。

SELECT * FROM c WHERE ARRAY_LENGTH(c.fruits) = 3

上面的查询将返回所有具有三个水果的文档。

使用ARRAY_SLICE将数组缩小到指定的索引范围。

SELECT ARRAY_SLICE(c.fruits, 0, 2) AS first_two_items FROM c

上面的查询将返回数组的前两个元素。

总结

在DocumentDB中,数组是组成文档的重要组成部分,并且可以使用数组查询运算符访问和查询数组。 处理数组在处理嵌套或多值数据时非常有用。