Öğretici: NoSQL için Azure Cosmos DB'de verileri sorgulama

UYGULANANLAR: NOSQL

NoSQL için Azure Cosmos DB , yerleşik sorgu söz dizimini kullanarak belgeleri sorgulamayı destekler. Bu makalede bir örnek belge ile iki örnek sorgu ve sonuç sağlanır.

Bu makale aşağıdaki görevleri kapsar:

  • Yerleşik sorgu söz dizimi ile NoSQL verilerini sorgulama

Ön koşullar

Bu öğreticide bir Azure Cosmos DB hesabınız, veritabanınız ve kapsayıcınız olduğu varsayılır.

Bu kaynaklara sahip değil misiniz? Bu hızlı başlangıcı tamamlayın: Azure portal bir Azure Cosmos DB hesabı, veritabanı, kapsayıcı ve öğeleri oluşturun.

sorguları Azure portal Azure Cosmos DB Gezgini'ni kullanarak çalıştırabilirsiniz. Rest API'yi veya çeşitli SDK'ları kullanarak da sorgu çalıştırabilirsiniz.

Sorgular hakkında daha fazla bilgi için bkz. Sorgularla başlayan ayarlama.

Örnek belge

Bu makaledeki sorgular aşağıdaki örnek belgeyi kullanır.

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

Tüm alanları seçme ve filtre uygulama

Örnek aile belgesi göz önünde bulundurulduğunda, aşağıdaki sorgu kimlik alanının ile eşleştiği WakefieldFamilybelgeleri döndürür. Bu bir SELECT * deyimi olduğundan, sorgunun çıkışı eksiksiz JSON belgesidir:

Sorgu:

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

Sonuçlar:

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

Alt koleksiyon alanının çapraz çarpımını seçme

Sonraki sorgu, ailedeki kimliği ile eşleşen WakefieldFamilyçocukların verilen tüm adlarını döndürür.

Sorgu:

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

Sonuçlar:

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

Sonraki adımlar

Bu öğreticide, aşağıdaki görevleri tamamladınız:

  • Yerleşik sorgu söz dizimini kullanarak sorgulamayı öğrendin

Artık verilerinizi genel olarak nasıl dağıtacağınızı öğrenmek için sonraki öğreticiye ilerleyebilirsiniz.