تخطَّ إلى المحتوى

🍃 شرح MongoDB

الأمان وأفضل الممارسات

الدرس 24 من 25· ⏱ 1 دقائق قراءة

الأمان

  • فعّل المصادقة دائمًا (مستخدم + كلمة مرور).
  • قيّد الوصول بالشبكة (IP allowlist في Atlas).
  • لا ترفع سلسلة الاتصال إلى Git — استخدم .env.
  • مبدأ أقلّ صلاحية لمستخدمي قاعدة البيانات.

حقن NoSQL

تحقّق من مدخلات المستخدم ولا تمرّرها مباشرة في الاستعلام:

// خطر: قد يحقن المستخدم كائن استعلام
const user = await User.findOne({ email: req.body.email });
// تأكّد أن email نصّ، لا كائن مثل { $ne: null }

استخدم تحقّق المخطّط (Mongoose) وتحويل الأنواع.

الأداء

  • أنشئ فهارس للحقول المستعلَم عنها كثيرًا.
  • استخدم الإسقاط لجلب الحقول اللازمة فقط.
  • راقب الاستعلامات البطيئة بـ explain.

النمذجة

  • صمّم حسب أنماط القراءة (البيانات التي تُقرأ معًا تُخزَّن معًا).
  • تجنّب المصفوفات غير المحدودة النموّ داخل مستند.

🎯 التالي: خلاصة المسار.

هل كان هذا الدرس مفيدًا؟