2017-03-03 6 views
3

ein Beispieldokument wie dieses von den Microsoft-Beispiele Gegeben:DocumentDB - WHERE-Klausel innerhalb Sammlung

{ 
    "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 
} 

Wir können sehen, dass es eine Untersammlung children eine Reihe von Dokumenten.

Lassen Sie sich sagen, dass ich eine Abfrage mit der SELECT ... FROM ... WHERE ... Typ Syntax schreiben wollte, wie würde ich mich über eine Abfrage zu schreiben Familien mit allen Töchtern (alle Kinder mit dem Geschlecht „weiblich“)

So findet so etwas wie

Ich frage mich, ob ich eine JOIN oder etwas vermisse, aber ehrlich gesagt bin ich nicht sicher, wo ich von hier gehe, und ich habe Mühe, etwas hilfreiches in Google teilweise zu finden, weil ich nicht sicher bin, wie um meine Suche zu formulieren!

Antwort

1

Sie müssen das JOIN Stichwort, um die Kinder entspannen, dann die Filter auf Geschlecht wie die unter Abfrage gelten:

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