📜  DocumentDB SQL-迭代(1)

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

DocumentDB SQL-迭代

简介

DocumentDB SQL 是 Azure DocumentDB 的查询语言,它支持基于标准 SQL 构建查询和数据操作。DocumentDB SQL 支持迭代,可以使用迭代器函数对集合、数组、对象等数据类型进行遍历和操作。

迭代器函数

下面是 DocumentDB SQL 支持的迭代器函数列表:

  • ARRAY_CONTAINS
  • ARRAY_LENGTH
  • ARRAY_SLICE
  • CONCAT
  • CONTAINS
  • ENDSWITH
  • INDEX_OF
  • LEFT
  • LENGTH
  • LOWER
  • LTRIM
  • REVERSE
  • RIGHT
  • RTRIM
  • STARTSWITH
  • SUBSTRING
  • TRIM
  • UPPER
  • ARRAY_CONCAT
示例
遍历集合

下面的示例使用 ARRAY_LENGTH 函数遍历订单集合,并统计订单数量:

SELECT VALUE ARRAY_LENGTH(o.items)
FROM orders o
过滤数组

下面的示例使用 ARRAY_CONTAINS 函数过滤出包含指定商品的订单:

SELECT o.id, o.customerName, o.items
FROM orders o
WHERE ARRAY_CONTAINS(o.items, {sku: '1234', quantity: 2})
修改数组

下面的示例使用 ARRAY_SLICE 函数将订单数组的前两项删除:

UPDATE orders
SET items = ARRAY_SLICE(items, 2, ARRAY_LENGTH(items) - 2)
WHERE id = 'order-001'
总结

DocumentDB SQL 支持多种迭代器函数,可以方便地对各种数据类型进行遍历和操作。开发人员可以根据实际需求选择合适的函数,提高查询效率和开发效率。