Azure Cosmos DB for NoSQL의 매개 변수화된 쿼리
적용 대상: NoSQL
Azure Cosmos DB for NoSQL은 익숙한 @ 표기법으로 표현된 매개 변수가 있는 쿼리를 지원합니다. 매개 변수가 있는 SQL은 사용자 입력의 강력한 처리 및 이스케이프를 제공하며 SQL 삽입을 통해 실수로 인한 데이터 노출을 방지합니다.
예제
예를 들어 매개 변수로 사용하는 upperPriceLimit
쿼리를 작성하고 사용자 입력을 기반으로 하는 다양한 값 price
에 대해 실행할 수 있습니다.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
그런 다음, 이 요청을 매개 변수화된 JSON 쿼리 개체로 Azure Cosmos DB for NoSQL에 보낼 수 있습니다.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
다음 예제에서는 매개 변수화된 쿼리를 사용하여 TOP
인수를 설정합니다.
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
매개 변수 값은 유효한 JSON(문자열, 숫자, 부울, null, 짝수 배열 또는 중첩된 JSON)일 수 있습니다. Azure Cosmos DB for NoSQL은 스키마가 없으므로 매개 변수는 임의 형식에 대해 유효성이 검사되지 않습니다.
다음은 각 Azure Cosmos DB for NoSQL SDK의 매개 변수화된 쿼리에 대한 예제입니다.