NahdaAIنهضة
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

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

  1. أنشئ مجموعة باسم users (موجودة بالفعل).
  2. أنشئ مجموعة إضافية باسم products.
  3. أدرج مستنداً داخل مجموعة users يحتوي على: name، email، age.
  4. أدرج مستنداً داخل مجموعة products يحتوي على: title، price، stock.
  5. اعرض المستندات عبر db.users.find({}) و db.products.find({}).
⏳ جارٍ تحميل المحرر التفاعلي...