كيف يعمل فحص الحماية
في MongoDB، قد يطابق المرشح الفارغ كل مستندات المجموعة. وفي SQL، يمكن لأمر UPDATE أو DELETE من دون WHERE أن يغير أو يحذف كل صفوف الجدول المستهدف. تكتشف أداة التخزين هذه العمليات غير المقيدة وتطلب تأكيداً صريحاً باستخدام `all: true` قبل تنفيذها.
لا يقرر هذا الفحص ما إذا كان تغيير كل السجلات فكرة جيدة؛ بل يوضح فقط أن النطاق واسع. الإجراء الأكثر أماناً هو الاستعلام عن السجلات المقصودة أولاً، وبناء مرشح باستخدام مفتاح ثابت، ومراجعة السجلات المطابقة قبل الكتابة. وفي SQL استخدم شرط WHERE يحدد الصفوف المطلوبة بدقة.
استخدم تأكيد النطاق الواسع عن قصد
إذا كنت تقصد فعلاً تحديث جميع السجلات أو حذفها، فإن `all: true` يؤكد هذا النطاق للعملية. استخدمه فقط عندما يطلب التغيير الشامل بوضوح وبعد دراسة عواقبه. لا يوفر التراجع عن العملية، لذا احتفظ بنسخة احتياطية إذا كانت الاستعادة مهمة.
إذا كان المقصود تحديثاً محدداً، فلا تضف التأكيد لمجرد إزالة رسالة الخطأ. صحح المرشح، وتحقق من وحدة التخزين والجدول أو المجموعة، وافحص النتائج المطابقة قبل الكتابة. بهذه الطريقة تساعدك الرسالة على تحديد النطاق المقصود بدقة.