English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مقدمة إلى MongoDB

MongoDB هو قاعدة بيانات متعددة المنصات، موجهة نحو المستندات، توفر أداءً عالياً واستقرارًا عاليًا وسهولة التوسع. MongoDB مكرسة لجمع وتعريف مفهوم المستندات.

ما هوMongoDB

MongoDB هو برنامج قاعدة بيانات، ويُكتبMongoDB بلغة C++.

  • مجاني – لا تحتاج إلى دفع أي شيء لتشغيله في تطبيقك.

  • مفتوح المصدر – هو مفتوح المصدر، وقدم مجتمع المفتوح المصدر مساهمات للبرنامجMongoDB.

  • متعدد المنصات – يُبني MongoDB على منصة (مثل Linux) ويُمكن تشغيله على منصات أخرى (Windows، MacOS، إلخ) دون الحاجة إلى تعديل أي شيء في الكود.

  • موجه نحو المستند – يخزن MongoDB السجلات (مثل المستندات) بصيغة JSON. لهذا الكثير من المزايا. واحدة من المزايا الجيدة هي أن إضافة ميزات جديدة إلى قاعدة البيانات (مثل الأعمدة في قاعدة البيانات العلاوية) لا تتطلب أي مشقة.

  • NoSQL– لا يقتصر ذلك على SQL) - يستخدم MongoDB قاعدة بيانات بنية مستند بناءً على مفتاح يحتوي على قيم معقدة. يمكن أن تحتوي قيمة المستند على مجموعة من الأزواج المفتاح-القيمة.

قاعدة البيانات

القاعدة البيانية هي وعاء مادي用于 جمع البيانات. لكل قاعدة بيانات مجموعة ملفات خاصة بها في نظام الملفات. خادم MongoDB عادةً يحتوي على عدة قواعد بيانات.

المجموعة

المجموعة هي مجموعة من مستندات MongoDB. إنها تساوي جدول RDBMS. المجموعة موجودة داخل قاعدة بيانات واحدة. لا تتطلب المجموعة تنفيذ بنية. يمكن أن تحتوي مستندات المجموعة على حقول مختلفة. عادةً، جميع المستندات في المجموعة لها أهداف مشابهة أو مرتبطة.

المستند

المستند هو مجموعة من الأزواج المفتاح-القيمة. المستند يحتوي على بنية ديناميكية. البنية الديناميكية تعني أن المستندات في نفس المجموعة لا تحتاج إلى أن تحتوي على نفس الحقول أو بنية الحقول، وأن الحقول العامة في مستندات المجموعة يمكن أن تحفظ أنواع بيانات مختلفة.

الجدول أدناه يوضح علاقة المصطلحات الخاصة بنظام إدارة قاعدة البيانات العلاوية (RDBMS) مع MongoDB.

نظام إدارة قاعدة البيانات العلاويةMongoDB
قاعدة البياناتقاعدة البيانات
الجدولالمجموعة

الزوج/السطر

المستند
العمودالحقل
ربط الجداولمستندات مدمجة
قيود المفتاح الرئيسيالمفتاح الرئيسي (المفتاح الرئيسي الافتراضي المقدم من MongoDB نفسه)
خادم قاعدة البيانات والعميل
mysqld / Oraclemongod
mysql / sqlplusmongo

مستند نموذجي

النموذج التوضيحي التالي يظهر بنية مستندات موقع البلاگ، إنه مجرد مجموعة من الأزواج المفتاح-القيمة المفصولة بفاصلة.

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: '基础教程',
   url: 'https://ar.oldtoolbag.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   الإعجابات: 100, 
   تعليقات: [	
      {
         مستخدم: 'user1',
         رسالة: 'تعليق أول',
         تاريخ إنشاء: new Date(2011,1,20,2,15),
         مثل: 0 
      }
      {
         مستخدم: 'user2',
         رسالة: 'تعليق ثاني',
         تاريخ إنشاء: new Date(2011,1,25,7,45),
         مثل: 5
      }
   }
}

_idهي عدد عشري من 12 حرفًا، يضمن فريدة من نوعها لكل مستند. يمكنك تقديم id عند إدراج المستند. إذا لم تقدم، فإن MongoDB ستعطي كل مستند id فريدًا. تستخدم الأربعة أحرف الأولى من هذه الـ 12 حرفًا لتوقيت الوقت الحالي، والأربعة أحرف التالية لمسجل الجهاز، والأربعة أحرف التالية لمسجل عملية MongoDB، والأربعة أحرف الأخيرة هي قيمة التكرار البسيط.