Aracılığıyla paylaş


Öğ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 örnek bir belge ve 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

Önkoş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ından bir Azure Cosmos DB hesabı, veritabanı, kapsayıcı ve öğe oluşturun.

Sorguları Azure portalındaki 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 . Sorguları kullanmaya başlama.

Ö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 WakefieldFamilytüm çocukların 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.