توفر MongoDB لمستخدميها القدرة على إنشاء قواعد بيانات حديثة يسهل الوصول إليها والتلاعب بها.

MongoDB هي قاعدة بيانات مفتوحة المصدر NoSQL متاحة للاستخدام على جميع أنظمة التشغيل.

إذا تعلمت تصميم قاعدة البيانات في المدرسة ، فمن المحتمل أنك لم تتعلم كيفية استخدام MongoDB أو اكتسبت خبرة كبيرة في قواعد بيانات NoSQL. لم يكن هذا مفاجئًا - فحتى عام 1998 لم يكن الكثير من الناس قد سمعوا عن NoSQL ، ولم تبدأ قواعد بيانات NoSQL في اكتساب المزيد من الزخم حتى عام 2009.

ما هو NoSQL؟

يشير الاختصار SQL إلى "لغة الاستعلام المهيكلة". يتم استخدام SQL لإجراء عمليات حسابية على البيانات المحفوظة في قواعد البيانات التي يتم تنظيمها بشكل صارم من خلال الصفوف والأعمدة (الجداول).

يشير الاختصار NoSQL ، بناءً على من تسأل ، إلى "ليس فقط SQL" أو "غير SQL". ومع ذلك ، فإن حقيقة واحدة أن الجميع يمكن أن نتفق على أن NoSQL تُستخدم لإجراء عمليات على البيانات المحفوظة في قواعد البيانات غير المهيكلة بالصفوف و الأعمدة.

يوجد عدد قليل من قواعد بيانات NoSQL ، ولكن الاسم الذي يقف فوق الباقي هو MongoDB. في الواقع ، يعتقد بعض الناس أن MongoDB هي قاعدة البيانات الوحيدة من نوعها.

instagram viewer

ما هو MongoDB؟

تدعم NoSQL أربعة أنواع مختلفة من قواعد البيانات: المستندات ومخازن القيمة الرئيسية والموجهة بالأعمدة والرسم البياني. MongoDB هي قاعدة بيانات للمستندات لأنها تخزن البيانات في مستند يشبه JSON ، ومثل جميع قواعد البيانات ، فهي تدعم جميع عمليات CRUD الأساسية.

متعلق ب: كيف يمكن لقاعدة بيانات MongoDB تنظيم بياناتك بشكل أفضل

ما هي عمليات CRUD؟

يشير الاختصار CRUD إلى "إنشاء وقراءة وتحديث وحذف". يمثل CRUD المتطلبات الوظيفية الأساسية الأربعة لجميع قواعد البيانات. إذا كنت تستخدم قاعدة بيانات لا تسمح لك بإنشاء سجلات أو قراءتها أو تحديثها أو حذفها ، فهي ليست قاعدة بيانات.

تنزيل MongoDB

قبل أن تتمكن من إجراء أي عمليات CRUD في MongoDB ، ستحتاج إلى تنزيل وتثبيت MongoDB على ملف جهاز (أو استخدم إصدارًا سحابيًا متاحًا) ، قم بتشغيل خادم MongoDB ، والاتصال به ، وأخيراً إنشاء ملف قاعدة البيانات.

يمكن تنزيل خادم MongoDB من المسؤول موقع MongoDB.

تنفيذ خادم MongoDB

قم بتشغيل خادم MongoDB من وحدة تحكم IDE الخاص بك.


/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data

يقوم الكود أعلاه بتنفيذ خادم MongoDB. يوفر النصف الأول المسار المباشر لملف MongoDB القابل للتنفيذ (mongod.exe) المخزن على جهازك. يجب أن يكون اسم المسار على جهازك مختلفًا ، ولكن الهدف هو الوصول إلى ملف mongod.exe في مجلد bin.

النصف الثاني من الكود (الذي يفصله شريط المسافة) هو اسم مسار آخر. يؤدي هذا المسار إلى "mongodb-data" ، وهو ملف ستحتاج إلى إنشائه بنفسك. سيحتوي هذا الملف على جميع البيانات التي تم إنشاؤها في قاعدة البيانات الخاصة بنا.

يُطلق على ملفنا اسم "mongodb-data" ، ولكن يمكن أن يكون الاسم هو ما تعتقد أنه مناسب.

يجب أن ينتج عن تنفيذ الكود أعلاه عدة أسطر من التعليمات البرمجية ، ولكن يمكن رؤية السطرين اللذين يجب الانتباه إليهما بشدة أدناه:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}، "s": "I"، "c": "NETWORK"، "id": 23015، "ctx": "listener"، "msg": "Listening on"، "attr": {"address": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}، "s": "I"، "c": "NETWORK"، "id": 23016، "ctx": "مستمع"، "msg": "في انتظار الاتصالات"، "attr": {"port": 27017، "ssl": "off"}}

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

أداء عمليات CRUD

الآن وقد تم تشغيل خادم MongoDB الخاص بنا ، يمكننا الاتصال به (باستخدام برنامج التشغيل المناسب) والبدء في تنفيذ عمليات CRUD. في هذه المقالة ، سننشئ قاعدة بيانات مستخدم بسيطة تخزن أسماء وأعمار مستخدمينا.

إنشاء مستخدم

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

ومع ذلك ، إذا كان الهدف هو إنشاء أكثر من مستخدم واحد في وقت واحد ، فعندئذٍ إدراج العديد الطريقة هي الخيار الأفضل.

إدراج MongoDB مثال على طريقة واحدة


// استيراد mongodb واستخدام التدمير للحصول على وظيفة MongoClient
const {MongoClient} = تتطلب ("mongodb") ؛
// عنوان URL للاتصال وقاعدة البيانات التي ننوي الاتصال بها
const connectionURL = 'mongodb: //127.0.0.1: 27017' ؛
const اسم قاعدة البيانات = 'مدير المستخدم' ؛
// باستخدام وظيفة الاتصال على MongoClient للاتصال بخادم MongoDB
MongoClient.connect (connectionURL ، {useUnifiedTopology: true} ، (خطأ ، عميل) => {
// تحقق مما إذا تم إنشاء الاتصال
إذا (خطأ) {
إرجاع console.log ('تعذر الاتصال بقاعدة البيانات') ؛
}
// الوصول إلى قاعدة بيانات مدير المستخدم
const db = client.db (databaseName) ؛
// أدخل مستخدمًا واحدًا في قاعدة البيانات
db.collection ("المستخدمون"). insertOne ({
الاسم: "جون دو" ،
العمر: '28'
} ، (خطأ ، نتيجة) => {
إذا (خطأ) {
إرجاع console.log ('تعذر إنشاء المستخدم') ؛
}
console.log (result.ops) ؛
})
})

قبل أن نتمكن من إنشاء أي مستخدمين ، يجب إنشاء اتصال بخادم MongoDB باستخدام برنامج تشغيل MongoDB للغة التي تستخدمها. أكثر برامج التشغيل شيوعًا ، والذي نستخدمه في هذا البرنامج التعليمي ، هو برنامج تشغيل NodeJS.

باستخدام السطر الأول من الكود أعلاه ، يمكننا استخدام طريقة التدمير لاسترداد وظيفة MongoClient من خادمنا.

يقبل MongoClient ثلاث حجج:

  • عنوان URL (يستخدم للاتصال بخادم MongoDB)
  • الخيارات / الإعدادات (والتي في هذه الحالة تقوم بتعيين متغير "useUnifiedTopology" على "true" ، لتسهيل استخدام محرك اكتشاف ومراقبة الخادم الجديد)
  • وظيفة رد اتصال تأخذ وسيطين (خطأ وعميل)

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

من ميزات استخدام MongoDB أنه لا توجد حاجة لإنشاء قاعدة بيانات بشكل صريح. بمجرد إنشاء مرجع إلى قاعدة بيانات معينة باستخدام وسيطة "العميل" (كما هو موضح في الكود أعلاه) ، فأنت حر في البدء في معالجتها.

يتم تخزين المرجع إلى قاعدة بيانات مدير المستخدم التي أنشأناها في المتغير "db" ، والذي سنستخدمه لإدراج مستخدمنا الأول في قاعدة البيانات.

باستخدام المرجع "db" ، يمكننا إنشاء مجموعة جديدة ، والتي نخصص لها اسم "user".

ال إدراج واحد تأخذ الطريقة اثنين من الحجج المطلوبة ؛ المستند (المستخدم) ووظيفة رد الاتصال. مع ال إدراج واحد الطريقة ، يمكننا إدراج مستخدم باسم بيتر ديفيس مع سن 32، في قاعدة البيانات الخاصة بنا.

تأخذ وظيفة رد الاتصال وسيطين (الخطأ والنتيجة). تحتوي وظيفة النتيجة على طريقة ops التي نستخدمها لرؤية المستخدم الذي أنشأناه للتو في قاعدة البيانات الخاصة بنا. ينتج عن هذا الإخراج التالي في وحدة التحكم ، بعد تنفيذ الكود أعلاه:


[{الاسم: "بيتر ديفيس" ، العمر: "32" ، _ ID: 60772f869475e84740003c45}]

على الرغم من أننا قدمنا ​​حقلين فقط عند إنشاء مستخدم ، يمكنك أن ترى من الإخراج أعلاه أنه تم إنشاء حقل ثالث. هذا شيء رائع آخر عن MongoDB ؛ يقوم تلقائيًا بإنشاء معرف فريد لكل مستند يقوم بإنشائه.

متعلق ب: كيف تختلف نمذجة البيانات في MongoDB؟

قراءة مستخدم في MongoDB

الطريقتان الرئيسيتان المستخدمتان لقراءة المستندات من MongoDB هما: تجد و findOne. ال تجد يتم استخدام الطريقة لقراءة مستندات متعددة في وقت واحد و findOne تُستخدم الطريقة لقراءة مستند واحد في كل مرة.

MongoDB findOne طريقة سبيل المثال


// استيراد mongodb واستخدام التدمير للحصول على طريقة MongoClient
const {MongoClient} = تتطلب ("mongodb") ؛
// عنوان URL للاتصال وقاعدة البيانات التي ننوي الاتصال بها
const connectionURL = 'mongodb: //127.0.0.1: 27017' ؛
const اسم قاعدة البيانات = 'مدير المستخدم' ؛
// باستخدام وظيفة الاتصال على MongoClient للاتصال بخادم MongoDB
MongoClient.connect (connectionURL ، {useUnifiedTopology: true} ، (خطأ ، عميل) => {
// تحقق مما إذا تم إنشاء الاتصال
إذا (خطأ) {
إرجاع console.log ('تعذر الاتصال بقاعدة البيانات') ؛
}
// إنشاء قاعدة بيانات مدير المستخدم
const db = client.db (databaseName) ؛
// العثور على مستخدم واحد في قاعدة البيانات
db.collection ('users'). findOne ({name: 'Peter Davis'}، (error، user) => {
إذا (خطأ) {
return console.log ('تعذر العثور على المستخدم') ؛
}
console.log (مستخدم) ؛
})
});

من الجيد أن تتذكر أنك ستحتاج دائمًا إلى الاتصال بخادم MongoDB وقاعدة البيانات المناسبة قبل أن تتمكن من إجراء أي عمليات CRUD (كما هو موضح في المثال أعلاه).

ال findOne تأخذ الطريقة اثنين من الحجج المطلوبة. تحتوي الوسيطة الأولى على معايير البحث ؛ يمكنك البحث عن مستند باستخدام أي اسم متغير خاص به. في مثالنا أعلاه ، نستخدم الاسم "Peter Davis".

الحجة الثانية من findOne الطريقة هي وظيفة رد الاتصال التي تأخذ وسيطين ؛ الأول خطأ إذا تعذر تحديد موقع المستند ، والثاني هو المستند (الذي أطلقنا عليه اسم "المستخدم").

سيؤدي تنفيذ الكود أعلاه إلى النتيجة التالية في وحدة التحكم:


{_id: 60772f869475e84740003c45 ، الاسم: "Peter Davis" ، العمر: "32"}

تحديث مستخدم في MongoDB

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

تحديث MongoDB مثال على طريقة واحدة


// تحديث عمر المستخدم
db.collection ('users'). updateOne ({name: "Peter Davis"}،
{
مجموعة $: {
العمر: '24'
}
})

باستخدام الكود أعلاه ، يمكننا تحديث عمر بيتر ديفيس إلى 24.

حذف مستخدم في MongoDB

هناك طريقتان متاحتان لحذف مستند من MongoDB. ال حذف واحد يتم استخدام الطريقة لحذف مستند واحد ، و حذف العديد الطريقة المستخدمة لحذف مستندات متعددة.

MongoDB deleteOne طريقة المثال


// حذف مستند
db.collection ('users'). deleteOne ({name: 'Peter Davis'})

عملية الحذف هي أبسط عملية CRUD يمكن إجراؤها في MongoDB. كما ترى في المثال أعلاه (لا يشمل رمز الاتصال المطلوب ووظيفة رد الاتصال) ، فإنه يأخذ سطرًا واحدًا فقط من التعليمات البرمجية.

يمكنك الآن إجراء عمليات CRUD في MongoDB

الآن لديك معرفة أساسية بـ MongoDB ، وأنت تعرف ما تعنيه NoSQL. أنت تعرف أيضًا ما يرمز إليه اختصار CRUD ولماذا تعتبر هذه العمليات من الصفات الأساسية لكل قاعدة بيانات.

توفر لك هذه المقالة جميع الأدوات اللازمة لأداء عمليات CRUD الأساسية الأربعة في MongoDB. الآن بعد أن أصبحت مجهزًا بخبرة عمليات CRUD ، يمكنك البدء في تعلم أفضل طريقة لنمذجة بياناتك باستخدام MongoDB.

حقوق الصورة: Alexander Sosluev /WiKiMedia Commons

بريد إلكتروني
كيف تختلف نمذجة البيانات في MongoDB؟

النظر في نهج مختلف لقواعد البيانات؟ إليك كيفية عمل نمذجة البيانات في MongoDB.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • دروس الترميز
  • قاعدة البيانات
عن المؤلف
قاديشا كين (9 مقالات منشورة)

قاديشا كين مطور برامج متكامل وكاتب تقني / تقني. لديها قدرة مميزة على تبسيط بعض المفاهيم التكنولوجية الأكثر تعقيدًا ؛ إنتاج مادة يمكن لأي مبتدئ في مجال التكنولوجيا فهمها بسهولة. إنها شغوفة بالكتابة وتطوير البرامج الشيقة والسفر حول العالم (من خلال الأفلام الوثائقية).

المزيد من Kadeisha Kean

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.