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

🍃 شرح MongoDB

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

الدرس 24 من 31· ⏱ 1 دقائق قراءة· 🗓 آخر تحديث: ٢٧ يونيو ٢٠٢٦

الأمان

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

حقن NoSQL

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

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

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

الأداء

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

النمذجة

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

🎯 التالي: Aggregation Pipeline — مستوى متقدم.

شرح الأمان وأفضل الممارسات — MongoDB بالعربي
الأمان وأفضل الممارساتMongoDB بالعربي · The Code Fix

📚 لمزيد من التعمّق في MongoDB، راجِع التوثيق الرسمي لـ MongoDB.

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