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) للتحقق من الصيغة.
التطبيق العملي المباشر
تحدي الدرس الثاني: تحقق متقدم من البيانات
قم بالتعديل على الكود في المحرر أدناه:
- أضف خاصيتي
min: 18وmax: 100لحقلageفي Schema. - أضف تحققاً (regex) من صيغة البريد الإلكتروني
data.emailقبل إنشاء المستخدم. - أضف تحققاً من قيمة
age(يجب أن تكون بين 18 و 100). - أضف اختبارين: age غير صالح (15)، وبريد غير صحيح.
⏳ جارٍ تحميل المحرر التفاعلي...