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 upperPriceLimit
sebagai parameter, dan menjalankannya untuk berbagai nilai price
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: