NoSQL için Azure Cosmos DB'de parametreli sorgular

ŞUNUN IÇIN GEÇERLIDIR: NoSQL

NoSQL için Azure Cosmos DB, tanıdık @ gösterimiyle ifade edilen parametrelerle sorguları destekler. Parametreli SQL, kullanıcı girişinin güçlü bir şekilde işlenmesini ve kaçışını sağlar ve SQL ekleme yoluyla verilerin yanlışlıkla açığa çıkmasını önler.

Örnekler

Örneğin, parametre olarak ve address.state alan lastName bir sorgu yazabilir ve kullanıcı girişlerine göre ve'nin address.state çeşitli değerleri için bu sorguyu lastName yürütebilirsiniz.

SELECT
    *
FROM
    p
WHERE
    (NOT p.onSale) AND
    (p.price BETWEEN 0 AND @upperPriceLimit)

Ardından bu isteği NoSQL için Azure Cosmos DB'ye parametreli JSON sorgu nesnesi olarak gönderebilirsiniz.

{
  "query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
  "parameters": [
    {
      "name": "@upperPriceLimit",
      "value": 100
    }
  ]
}

Bu sonraki örnek, bağımsız değişkeni parametreli bir sorguyla ayarlar TOP :

{
  "query": "SELECT TOP @pageSize * FROM products",
  "parameters": [
    {
      "name": "@pageSize",
      "value": 10
    }
  ]
}

Parametre değerleri geçerli bir JSON olabilir: dizeler, sayılar, boole değerleri, 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 Azure Cosmos DB SDK'larının her birinde parametreli sorgu örnekleri aşağıda verilmiştir: