NoSQL için Azure Cosmos DB'de parametreli sorgular
UYGULANANLAR: NoSQL
NoSQL için Azure Cosmos DB, tanıdık @ gösterimiyle ifade edilen parametrelere sahip sorguları destekler. Parametreli SQL, kullanıcı girişinin sağlam bir şekilde işlenmesini ve kaçılmasını sağlar ve SQL ekleme yoluyla verilerin yanlışlıkla açığa çıkmasını önler.
Örnekler
Örneğin, parametre olarak alan upperPriceLimit
bir sorgu yazabilir ve kullanıcı girişini price
temel alan çeşitli değerler için yürütebilirsiniz.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Ardından bu isteği Parametreli JSON sorgu nesnesi olarak NoSQL için Azure Cosmos DB'ye gönderebilirsiniz.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
Sonraki örnekte bağımsız değişken parametreli bir sorguyla ayarlır TOP
:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Parametre değerleri geçerli herhangi bir JSON olabilir: dizeler, sayılar, boole'lar, null, hatta diziler veya iç içe JSON. NoSQL için Azure Cosmos DB şemasız olduğundan parametreler herhangi bir türde doğrulanmaz.
NoSQL için Her Azure Cosmos DB SDK'sında parametreli sorgu örnekleri aşağıda verilmiştir: