2017-03-03 54 views
3

內的條款鑑於這樣一個來自微軟的例子樣本文檔:DocumentDB - 在收集

{ 
    "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或東西,但說實話我不知道,我從這裏走了,我掙扎找到任何有用的谷歌部分,因爲我不知道怎麼樣短語我的搜索!

回答

1

您需要JOIN關鍵字放鬆身心的孩子,然後應用過濾器上的性別像下面的查詢:

SELECT f.id 
FROM family f 
JOIN child IN f.children 
WHERE child.gender = "female"