عبارة WHERE (استعلام NoSQL)

ينطبق على: NoSQL

تحدد العبارة الاختيارية WHERE (WHERE <filter_condition>) الشرط (الشروط) التي يجب أن تفي بها عناصر JSON المصدر للاستعلام لتضمينها في النتائج. يجب أن يقيِّم عنصر JSON الشروط المحددة لـ true ليتم أخذها في الاعتبار للنتيجة. تستخدم طبقة الفهرس WHERE عبارة لتحديد أصغر مجموعة فرعية من عناصر المصدر التي يمكن أن تكون جزءا من النتيجة.

بناء الجملة

WHERE <filter_condition>  
<filter_condition> ::= <scalar_expression>
‏‏الوصف
<filter_condition> يحدد الشرط المطلوب استيفاءه للعناصر التي سيتم إرجاعها.
<scalar_expression> التعبير الذي يمثل القيمة المراد حسابها.

إشعار

لمزيد من المعلومات حول التعبيرات العددية، راجع التعبيرات العددية

الأمثلة

يستخدم هذا المثال الأول استعلام مساواة بسيطا لإرجاع مجموعة فرعية من العناصر. = يتم استخدام عامل التشغيل مع WHERE عبارة لإنشاء عامل تصفية استنادا إلى المساواة البسيطة.

SELECT VALUE {
    employeeName: e.name,
    currentTeam: e.team
}
FROM
    employees e
WHERE
    e.team = "Hospitality"
[
  {
    "employeeName": "Jordan Mitchell",
    "currentTeam": "Hospitality"
  },
  {
    "employeeName": "Ashley Schroeder",
    "currentTeam": "Hospitality"
  },
  {
    "employeeName": "Tomas Richardson",
    "currentTeam": "Hospitality"
  }
]

في هذا المثال التالي، يتكون عامل تصفية أكثر تعقيدا من تعبيرات عددية.

SELECT VALUE {
    employeeName: e.name,
    vacationDaysRemaining: e.vacationDays
}
FROM
    employees e
WHERE
    e.vacationDays >= 7
[
  {
    "employeeName": "Ana Bowman",
    "vacationDaysRemaining": 10
  },
  {
    "employeeName": "Madison Butler",
    "vacationDaysRemaining": 7
  }
]

في هذا المثال النهائي، يتم استخدام مرجع خاصية إلى خاصية منطقية كعامل تصفية.

SELECT VALUE {
    employeeName: e.name,
    isPartTime: e.partTime
}
FROM
    employees e
WHERE
    e.partTime
[
  {
    "employeeName": "Riley Ramirez",
    "isPartTime": true
  },
  {
    "employeeName": "Caleb Foster",
    "isPartTime": true
  }
]

الملاحظات

  • لكي يتم إرجاع عنصر، يجب تقييم التعبير المحدد كشرط عامل تصفية إلى صحيح. فقط القيمة true المنطقية تفي بالشرط أو أي قيمة أخرى: undefinedأو nullأو falseأو رقم عددي أو صفيف أو عنصر لا يفي بالشرط.

  • إذا قمت بتضمين مفتاح القسم الخاص بك في WHERE عبارة كجزء من عامل تصفية المساواة، يقوم الاستعلام تلقائيا بالتصفية إلى الأقسام ذات الصلة فقط.

  • يمكنك استخدام عوامل التشغيل الثنائية المدعومة التالية:

    العوامل الأمثلة
    حساب +،-،،/*،%
    البت بعكس اتجاه البت \|، &، ^، <<، >>، >>> (وردية صفرية لليمين)
    منطقي AND، ، ORNOT
    المقارنه =، !=، <، >، <=، ، >=<>
    السلسلة‬ \|\|(تسلسل)