DocumentDB - 集合中的 WHERE 子句

2024-01-02

给定一个来自 Microsoft 示例的示例文档:

{
  "id": "AndersenFamily",
  "lastName": "Andersen",
  "parents": [
     { "firstName": "Thomas" },
     { "firstName": "Mary Kay"}
  ],
  "children": [
     {
         "firstName": "Henriette Thaulow", 
         "gender": "female", 
         "grade": 5,
         "pets": [{ "givenName": "Fluffy" }]
     }
  ],
  "address": { "state": "WA", "county": "King", "city": "seattle" },
  "creationDate": 1431620472,
  "isRegistered": true
}

我们可以看到有一个子集合children包含文档数组。

假设我想使用以下方式编写查询SELECT ... FROM ... WHERE ...类型语法,我将如何编写一个查询来查找有任何女儿的家庭(任何性别为“女性”的孩子)

所以像

SELECT c.id
FROM c
WHERE c.children.contains(  // I'm stuck!

我想知道我是否错过了JOIN或者其他什么,但老实说,我不知道我从这里去哪里,而且我很难在谷歌中找到任何有用的东西,部分原因是我不知道如何表达我的搜索!


你需要JOIN关键字来展开孩子,然后对性别应用过滤器,如下查询:

SELECT f.id
FROM family f
JOIN child IN f.children
WHERE child.gender = "female"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DocumentDB - 集合中的 WHERE 子句 的相关文章

随机推荐