NoSQL için Azure Cosmos DB'de diziler ve nesnelerle çalışma
UYGULANANLAR: NoSQL
Bu makaledeki örneklerde kullanılan bir öğe aşağıda verilmiştir.
{
"name": "Sondon Fins",
"categories": [
{ "name": "swim" },
{ "name": "gear"}
],
"metadata": {
"sku": "73310",
"manufacturer": "AdventureWorks"
},
"priceInUSD": 132.35,
"priceInCAD": 174.50
}
Diziler
Aşağıdaki örnekte gösterildiği gibi statik değerleri kullanarak diziler oluşturabilirsiniz.
SELECT
[p.priceInUSD, p.priceInCAD] AS priceData
FROM products p
[
{
"priceData": [
132.35,
174.5
]
}
]
Bir alt sorgunun sonuçlarından ARRAY
dizi oluşturmak için de ifadesini kullanabilirsiniz. Bu sorgu tüm ayrı kategorileri alır.
SELECT
p.id,
ARRAY (SELECT DISTINCT VALUE c.name FROM c IN p.categories) AS categoryNames
FROM
products p
[
{
"id": "a0151c77-ffc3-4fa6-a495-7b53d936faa6",
"categoryNames": [
"swim",
"gear"
]
}
]
Yineleme
NoSQL IÇIN API, kaynakta FROM
anahtar sözcüğüyleIN
JSON dizileri üzerinde yineleme desteği sağlar.
Örnek olarak, bir sonraki sorgu kapsayıcıdaki her öğe için yineleme tags
gerçekleştirir. Çıkış, dizi değerini böler ve sonuçları tek bir diziye düzleştirir.
SELECT
*
FROM
products IN products.categories
[
{
"name": "swim"
},
{
"name": "gear"
}
]
Aşağıdaki örnekte gösterildiği gibi, dizinin her bir girdisine daha fazla filtre ekleyebilirsiniz:
SELECT VALUE
p.name
FROM
p IN p.categories
WHERE
p.name LIKE "ge%"
Sonuçlar:
[
"gear"
]
Ayrıca bir dizi yinelemesinin sonucu üzerinde toplama da yapabilirsiniz. Örneğin, aşağıdaki sorgu etiket sayısını sayar:
SELECT VALUE
COUNT(1)
FROM
p IN p.categories
Sonuçlar:
[
2
]
Not
Yineleme için anahtar sözcüğünü IN
kullanırken, dizi dışındaki özellikleri filtreleyemez veya yansıtamazsınız. Bunun yerine, kendi kendine birleşimleri kullanmanız gerekir.
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin