Tutorial: Mengkueri data di Azure Cosmos DB untuk NoSQL

BERLAKU UNTUK: NoSQL

Azure Cosmos DB for NoSQL mendukung kueri dokumen menggunakan sintaks kueri bawaan. Artikel ini menyediakan dokumen sampel dan dua contoh kueri dan hasil.

Artikel ini membahas tugas-tugas berikut ini:

  • Kueri data NoSQL dengan sintaks kueri bawaan

Prasyarat

Tutorial ini mengasumsikan Anda memiliki akun, database, dan kontainer Azure Cosmos DB.

Tidak memiliki sumber daya itu? Selesaikan mulai cepat ini: Membuat akun, database, kontainer, dan item Azure Cosmos DB dari portal Azure.

Anda dapat menjalankan kueri menggunakan Azure Cosmos DB Explorer di portal Azure. Anda juga dapat menjalankan kueri dengan menggunakan REST API atau berbagai SDK.

Untuk informasi selengkapnya tentang kueri, lihat pengaturan yang dimulai dengan kueri.

Sampel dokumen

Kueri dalam artikel ini menggunakan sampel dokumen berikut.

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

Pilih semua bidang dan terapkan filter

Mengingat contoh dokumen keluarga, kueri berikut mengembalikan dokumen di mana bidang ID cocok WakefieldFamilydengan . Karena ini adalah SELECT * pernyataan, output kueri adalah dokumen JSON lengkap:

Kueri:

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

Hasil:

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

Pilih produk silang dari bidang koleksi anak

Kueri berikutnya mengembalikan semua nama anak yang diberikan dalam keluarga yang ID-nya cocok WakefieldFamily.

Kueri:

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

Hasil:

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

Langkah berikutnya

Dalam tutorial ini, Anda telah melakukan tugas-tugas berikut:

  • Mempelajari cara mengkueri menggunakan sintaks kueri bawaan

Anda sekarang dapat melanjutkan ke tutorial berikutnya untuk mempelajari cara mendistribusikan data Anda secara global.