الاستعلامات ذات المعلمات في Azure Cosmos DB ل 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)
يمكنك بعد ذلك إرسال هذا الطلب إلى Azure Cosmos DB ل NoSQL ككائن استعلام JSON معلمات.
{
"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 صالح: السلاسل أو الأرقام أو القيم المنطقية أو القيم الخالية أو حتى الصفائف أو JSON المتداخلة. نظرا لأن Azure Cosmos DB ل NoSQL بلا مخطط، لا يتم التحقق من صحة المعلمات مقابل أي نوع.
فيما يلي أمثلة للاستعلامات ذات المعلمات في كل Azure Cosmos DB ل NoSQL SDK: