لماذا التحقّق؟
رغم مرونة MongoDB، أحيانًا تريد ضمان وجود حقول معيّنة وأنواعها — لتفادي بيانات فاسدة.
إنشاء مجموعة بقواعد
db.createCollection("users", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "email"],
properties: {
name: { bsonType: "string" },
age: { bsonType: "int", minimum: 0 },
email: {
bsonType: "string",
pattern: "@"
}
}
}
}
})
النتيجة
db.users.insertOne({ name: "براء" })
// خطأ: email مطلوب
إضافة تحقّق لمجموعة موجودة
db.runCommand({
collMod: "users",
validator: { $jsonSchema: { /* ... */ } }
})
💡 التحقّق على مستوى قاعدة البيانات طبقة أمان إضافية فوق التحقّق في التطبيق (مثل Mongoose).
🎯 التالي: مقدّمة Mongoose.