Samouczek: wykonywanie zapytań dotyczących danych w usłudze Azure Cosmos DB for NoSQL

DOTYCZY: NoSQL

Usługa Azure Cosmos DB for NoSQL obsługuje wykonywanie zapytań dotyczących dokumentów przy użyciu wbudowanej składni zapytań. Ten artykuł zawiera przykładowy dokument oraz dwa przykładowe zapytania i wyniki.

W tym artykule opisano następujące zadania:

  • Wykonywanie zapytań względem danych NoSQL przy użyciu wbudowanej składni zapytania

Wymagania wstępne

W tym samouczku założono, że masz konto, bazę danych i kontener usługi Azure Cosmos DB.

Nie masz żadnych z tych zasobów? Wykonaj ten przewodnik Szybki start: tworzenie konta, bazy danych, kontenera i elementów usługi Azure Cosmos DB z Azure Portal.

Zapytania można uruchamiać przy użyciu Eksploratora usługi Azure Cosmos DB w Azure Portal. Zapytania można również uruchamiać przy użyciu interfejsu API REST lub różnych zestawów SDK.

Aby uzyskać więcej informacji na temat zapytań, zobacz ustawianie rozpoczynania pracy z zapytaniami.

Przykładowy dokument

Zapytania w tym artykule korzystają z następującego przykładowego dokumentu.

{
  "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" },
  "creationDate": 1431620462,
  "isRegistered": false
}

Zaznacz wszystkie pola i zastosuj filtr

Biorąc pod uwagę przykładowy dokument rodziny, następujące zapytanie zwraca dokumenty, w których pole identyfikatora jest zgodne WakefieldFamilyz parametrem . Ponieważ jest to instrukcja SELECT *, dane wyjściowe zapytania są kompletnym dokumentem JSON:

Zapytanie:

SELECT * 
FROM Families f 
WHERE f.id = "WakefieldFamily"

Wyniki:

{
  "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" },
  "creationDate": 1431620462,
  "isRegistered": false
}

Wybierz krzyżowy produkt pola kolekcji podrzędnej

Następne zapytanie zwraca wszystkie podane nazwy dzieci w rodzinie, których identyfikator odpowiada WakefieldFamily.

Zapytanie:

SELECT c.givenName 
FROM Families f 
JOIN c IN f.children 
WHERE f.id = 'WakefieldFamily'

Wyniki:

[
  {
    "givenName": "Jesse"
  },
  {
    "givenName": "Lisa"
  }
]

Następne kroki

W tym samouczku wykonano następujące zadania:

  • Dowiedz się, jak wykonywać zapytania przy użyciu wbudowanej składni zapytania

Możesz teraz przejść do następnego samouczka, aby dowiedzieć się, jak dystrybuować swoje dane globalnie.