NahdaAIنهضة
Node.js • المستوى الثالث • الدرس 2

نمذجة البيانات والـ ORM/ODM

العودة لفهرس المستوى

أهداف الدرس العلمية

  • بناء هيكل البيانات بـ Schema لمنع إدخال بيانات غير صحيحة.
  • استخدام الأنواع وقواعد التحقق (Validation) الافتراضية.
  • التحقق من صيغة البريد الإلكتروني (Regex).
  • استخدام القيم الافتراضية (Default) والحدود (Min/Max).

1. ما هو مخطط Schema؟

المخطط هو رسم توضيحي يحدد شكل ونوع الحقول داخل كائنات قاعدة البيانات لتنظيم البيانات ومنع الأخطاء في الخادم.

javascript
// Mongoose Schema (MongoDB)
const UserSchema = new mongoose.Schema({
  name:  { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age:   { type: Number, default: 18, min: 18 }
});

const User = mongoose.model('User', UserSchema);

// الاستخدام
const user = await User.create({
  name: 'جمال',
  email: '[email protected]'
});

2. مكونات Schema الأساسية

type

نوع البيانات: String, Number, Boolean, Date, Array, ObjectId.

required

هل الحقل إلزامي؟ (true / false).

default

القيمة الافتراضية إذا لم يُرسل الحقل.

unique

منع تكرار القيمة (مثل البريد الإلكتروني).

min / max

الحد الأدنى والأقصى للأرقام.

match

تعبير نمطي (Regex) للتحقق من الصيغة.

التطبيق العملي المباشر

تحدي الدرس الثاني: تحقق متقدم من البيانات

قم بالتعديل على الكود في المحرر أدناه:

  1. أضف خاصيتي min: 18 و max: 100 لحقل age في Schema.
  2. أضف تحققاً (regex) من صيغة البريد الإلكتروني data.email قبل إنشاء المستخدم.
  3. أضف تحققاً من قيمة age (يجب أن تكون بين 18 و 100).
  4. أضف اختبارين: age غير صالح (15)، وبريد غير صحيح.
⏳ جارٍ تحميل المحرر التفاعلي...