30

このような Azure Documentdb ドキュメントで

{
"id": "WakefieldFamily",
"parents": [
    { "familyName": "Wakefield", "givenName": "Robin" },
    { "familyName": "Miller", "givenName": "Ben" }
],
"children": [
    {
        "familyName": "Merriam", 
        "givenName": "Jesse", 
        "gender": "female", 
        "grade": 1,
        "pets": [
            { "givenName": "Goofy" },
            { "givenName": "Shadow" }
        ]
    },
    { 
      "familyName": "Miller", 
      "givenName": "Lisa", 
      "gender": "female", 
      "grade": 8 
    }
],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "isRegistered": false
};

ペットの名が "Goofy" である子供を取得するにはどうすればよいですか?

次の構文は無効のようです

Select * from root r
WHERE r.children.pets.givenName="Goofy"

代わりに私はする必要があります

Select * from root r
WHERE r.children[0].pets[0].givenName="Goofy"

実際には配列を検索していません。

これらのようなクエリを処理する方法について何か提案はありますか?

4

2 に答える 2