Kueri berparameter di Azure Cosmos DB untuk NoSQL

BERLAKU UNTUK: NoSQL

Azure Cosmos DB for NoSQL mendukung kueri dengan parameter yang dinyatakan oleh notasi @ yang familier. Kueri terparameter SQL memberi penanganan dan pelarian input pengguna yang kuat, dan mencegah paparan data tidak disengaja melalui injeksi SQL.

Contoh

Misalnya, Anda dapat menulis kueri yang mengambil lastName dan address.state sebagai parameter, dan menjalankannya untuk berbagai nilai lastName dan address.state berdasarkan input pengguna.

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

Anda kemudian dapat mengirim permintaan ini ke Azure Cosmos DB untuk NoSQL sebagai objek kueri JSON berparameter.

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

Contoh berikutnya ini mengatur TOP argumen dengan kueri berparameter:

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

Nilai parameter dapat berupa JSON yang valid: string, angka, boolean, null, bahkan array atau JSON berlapis. Karena Azure Cosmos DB for NoSQL tidak memiliki skema, parameter tidak divalidasi terhadap jenis apa pun.

Berikut adalah contoh untuk kueri berparameter di setiap Azure Cosmos DB untuk NoSQL SDK: