Öğ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 WakefieldFamily
belgeleri 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
tü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.