[ العودة ]
TECH_MODULE_ID: MONGODB

[ > ] مونغو دي بي / MongoDB

تعريف_النظام
CORE_DEFINITION

وصف عام

قاعدة بيانات NoSQL الرائدة التي تتبنى مفهوم الوثائق (Document-oriented). تقوم بتخزين البيانات بتنسيق BSON، وهو شكل متطور وشبيه جداً بـ JSON. صممت لتوفير مرونة هائلة حيث لا تحتاج لتعريف جدول ثابت (Schema-less)، مما يسمح بالتوسع الأفقي (Scaling-out) عبر مئات الخوادم بسهولة، وهي مثالية للتطبيقات التي تتغير هياكل بياناتها بسرعة.

البيانات_الأساسية
CORE_DATA
MongoDB
قواعد بيانات
STATUS: ACTIVE
نبذة_تاريخية
HISTORY

تأسست MongoDB (سابقاً 10gen) في 2007 وبدأ البحث عن حل لقواعد البيانات التي لا تتوسع بسهولة. تم إطلاق النسخة الأولى في 2009. في عام 2017، أصبحت شركة عامة في البورصة وحولت اهتمامها نحو الحوسبة السحابية عبر خدمة Atlas، مما جعلها قاعدة البيانات المفضلة لملايين المبرمجين حول العالم.

VERIFIED_DATA
أفضل_الممارسات
BEST_PRACTICES
  • صمم مخطط البيانات (Schema) بناءً على كيفية استعلام تطبيقك عن البيانات.
  • تجنب تكرار البيانات بشكل عشوائي واستخدم الـ References عند الحاجة.
  • احرص على إنشاء فهارس (Indexes) للأعمدة التي تصفى بها النتائج.
  • استخدم الـ Aggregation Framework للقيام بالعمليات الحسابية المعقدة داخل القاعدة.
  • راقب حجم الوثيقة بحيث لا يتجاوز 16 ميجابايت كحد أقصى.
GUIDE_V1

طريقة الكتابة والبنية

SYNTAX_ARCH

01.الاستعلام والفلترة

MONGODB_SRC_01
db.users.find({
  age: { $gt: 18 },
  city: "Cairo"
}).sort({ name: 1 });

تستخدم مونغو نظام استعلام قوي يعتمد على الأوبجيكت (Query Object) بدلاً من كتابة سلاسل SQL.

02.نظام التجميع (Aggregation)

MONGODB_SRC_02
db.orders.aggregate([
  { $match: { status: "A" } },
  { $group: { _id: "$cust_id", total: { $sum: "$amount" } } }
]);

يسمح نظام التجميع بمعالجة البيانات وتحويلها عبر مراحل (Pipeline) لإنتاج تقارير معقدة.

المنظومة التقنية

ECOSYSTEM_MODULES

إطارات العمل (Frameworks)

MongoDB Atlas
النظام السحابي المتكامل الذي يدير القاعدة تلقائياً مع ميزات أمنية متقدمة.
Atlas Search
محرك بحث متطور مبني على Lucene مدمج مباشرة مع قاعدة البيانات.
Realm
قاعدة بيانات محلية للهواتف تتزامن تلقائياً مع MongoDB السحابي.

المكتبات المشهورة (Libraries)

Mongoose
الاستخدام: المكتبة الأكثر استخداماً لوضع هيكلية منظمة (Schema) داخل Node.js.
PyMongo
الاستخدام: المكتبة الرسمية للتعامل مع مونغو عبر لغة بايثون.
Mongo Engine
الاستخدام: المكتبة الرسمية للتعامل مع مونغو عبر لغة بايثون.
ODatabase
الاستخدام: التعريف الرسمي لدعم لغة Java وتكاملها مع مونغو.

هيكلية الملفات الشائعة

FILE_SYSTEM_TREE

شجرة_المفات
DIRECTORY_SCAN
Data Storage/
├── Collections (مجموعات الوثائق)
├── Documents (الملفات الفردية)
├── Shards (توزيع البيانات عبر السيرفرات)
├── Replica Sets (نسخ البيانات للحماية)
└── Journal (سجلات الأمان والاستعادة)