NoSQL Databases • المستوى الأول • الدرس 1
العودة لفهرس المستوىمقدمة في NoSQL وإنشاء المستندات (Documents & Collections)
أهداف الدرس
- فهم الفروق الأساسية بين جداول SQL ومجموعات NoSQL (Collections).
- استيعاب مفهوم المستندات مرنة الهيكل المقروءة بتنسيق BSON/JSON.
- إنشاء مجموعات جديدة عبر الأمر
db.createCollection(). - إدراج أول مستند داخل MongoDB باستخدام
insertOne().
1. ما هي قواعد بيانات NoSQL؟
تُخزن قواعد بيانات NoSQL كـ MongoDB البيانات كـ "مستندات" مرنة تشبه كائنات JavaScript (JSON)، مما يلغي الحاجة لتعريف أعمدة ومخططات ثابتة مسبقاً وتسهل التوسع السحابي.
javascript
// مثال على مستند MongoDB
{
_id: ObjectId("6512a1b2c3d4e5f6"),
name: "جمال أحمد",
email: "[email protected]",
age: 30,
skills: ["JavaScript", "MongoDB", "Node.js"],
address: {
city: "الرياض",
country: "السعودية"
}
}2. SQL vs NoSQL
SQL (علائقي)
- الجدول (Table) = صفوف وأعمدة
- مخطط ثابت (Schema)
- JOINs معقدة
SELECT * FROM users
MongoDB (NoSQL)
- المجموعة (Collection) = مستندات
- مخطط مرن (Schema-less)
- Embedded Documents
db.users.find({})
3. أهم أوامر MongoDB Shell
إنشاء مجموعة
db.createCollection("users")عرض المجموعات
show collections
إدراج مستند
db.users.insertOne({
name: "جمال",
age: 30
})عرض المستندات
db.users.find({})
db.users.findOne({ name: "جمال" })4. لماذا NoSQL؟
1.الأداء: قراءة/كتابة أسرع للبيانات غير المحدّدة البنية.
2.التوسع الأفقي: إضافة خوادم جديدة بدل ترقية الخادم الواحد.
3.المرونة: تغيير البنية بدون تعديل الجداول الموجودة.
4.الاستخدامات: تطبيقات الدردشة، تحليل البيانات، إنترنت الأشياء (IoT).
التطبيق العملي المباشر
تحدي الدرس الأول: إدارة مجموعات MongoDB
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- أنشئ مجموعة باسم
users(موجودة بالفعل). - أنشئ مجموعة إضافية باسم
products. - أدرج مستنداً داخل مجموعة
usersيحتوي على:name،email،age. - أدرج مستنداً داخل مجموعة
productsيحتوي على:title،price،stock. - اعرض المستندات عبر
db.users.find({})وdb.products.find({}).
⏳ جارٍ تحميل المحرر التفاعلي...