الآن بعد أن تعلمنا عن برنامج تشغيل العقدة MongoDB، وحدة
العقدة، التي تمكن تطبيق العقدة لدينا لتكون قادرة
على التفاعل مع خادم MongoDB، في هذا التمرين،
سوف نستخدم وحدة العقدة واستخدام الطرق المختلفة
التي تدعمها وحدة العقدة لتوفير مقدمة مع لدينا خادم MongoDB.
للبدء، انتقل إلى
مجلد NodeJS الذي كنت تستخدمه لتخزين جميع الأمثلة الخاصة بك،
ثم قم بإنشاء مجلد جديد هناك باسم node-mongo.
في هذا المجلد، سنقوم بتطوير
تطبيق NodeJS الذي يتفاعل مع خادم MongoDB الخاص بنا.
الآن، تأكد من أن خادم MongoDB الخاص بك قيد التشغيل،
لذلك في التمرين السابق رأينا بالفعل كيف يمكن بدء تشغيل خادم MongoDB الخاص بنا.
لذا، حافظ على خادم MongoDB وتشغيله وفي
نافذة طرفية أخرى أو علامة تبويب طرفية أو نافذة أوامر،
انتقل إلى مجلد العقدة mongo
الذي قمت بإنشائه للتو وتهيئة تطبيق عقدة هنا.
لذا، دعني اكتب npm init
وسنقوم بتسمية التطبيق على أنه
عقدة Mongo والإصدار، وصف Node MongoDB مثال
،
ونقطة الدخول، والمؤلف، تمامًا كما كنا نملأ التمارين السابقة.
ثم بمجرد تهيئة ملف package.json،
افتح هذا في المحرر الذي تختاره.
الآن الذهاب إلى ملف package.json،
اسمحوا لي أن أعرض برنامج نصي آخر هنا تماما كما كنا نفعل في وقت سابق، لذلك،
سوف نقول «ابدأ»: «مؤشر العقدة» وحفظ التغييرات.
بالعودة إلى المحطة،
دعونا تثبيت وحدة عقدة MongoDB.
لذلك، اكتب npm تثبيت mongodb @3 .0.10 - حفظ.
سنقوم أيضًا بتثبيت وحدة عقدة التأكيد، لذلك،
سنقول npm install assert @1 .4.1 —save.
تمكننا وحدة التأكيد من استخدام التأكيد للتحقق من
الحقيقة أو القيم الخاطئة داخل تطبيقنا،
وسترى لي استخدامه لاحقًا.
الآن بعد أن قمنا بتثبيت وحدات العقدة هذه،
دعنا ننشئ تطبيق العقدة الذي يتفاعل مع خادم MongoDB.
بالعودة إلى المحرر،
في مجلد المشروع،
قم بإنشاء ملف باسم index.js،
وهذا هو المكان الذي سننشئ فيه
تطبيق العقدة الذي يتفاعل مع خادم MongoDB الخاص بنا.
لذلك، في هذا التطبيق،
دعونا اكتب const Mongoclient،
وبعد ذلك سيقولون،
تتطلب (`mongodb`)، وحدة عقدة MongoDB التي قمنا بتثبيتها بالفعل،
ومن ثم هذا سيوفر لنا
MongoClient التي تمكننا من الاتصال بخادم MongoDB.
أيضا، تتطلب وحدة تأكيد.
الآن، لبدء اتصال بخادم MongoDB،
دعنا ننشئ عنوان URL لاسم ثابت والذي سيكون عنوان URL حيث يمكن
الوصول إلى خادم MongoDB والوصول إلى الطفل هذا
عن طريق قول mongodb://localhost: 27017/.
تذكر أن هذا هو رقم المنفذ الذي يقوم فيه خادم MongoDB
بتشغيل 27017 const dbname =،
ثم سنقول الارتباك.
أذكر أننا أنشأنا
قاعدة بيانات الارتباك في خادم MongoDB لدينا في التمرين السابق
، لذلك، سنقوم بالوصول إلى قاعدة بيانات الارتباك التي أنشأناها في وقت سابق.
الآن، للوصول إلى الخادم، سنقول MongoClient.Connect.
لذا، تسمح لنا طريقة الاتصال بالاتصال بـ MongoClient من خادم MongoDB الخاص بنا،
ثم سنقول أن هذا يأخذ عنوان URL كمعلمة أولى،
عنوان URL لخادم MongoDB كمعلمة أولى.
المعلمة الثانية هي وظيفة رد اتصال.
لذا، تحتوي وظيفة رد الاتصال على معلمتين، وقيمة الخطأ،
والعميل، والتي يمكننا استخدامها بعد ذلك
للاتصال بقاعدة البيانات الخاصة بنا ومن ثم تنفيذ عمليات مختلفة.
لذلك، داخل وظيفة رد الاتصال هذه،
أول شيء سنقوم به هو التحقق للتأكد من أن الخطأ ليس خاليًا.
لذا، سيتحقق التأكيد لمعرفة ما إذا كان الخطأ يساوي القيمة الفارغة،
لذا فإن وظيفة التأكيد تسمح لنا بإجراء فحوصات مختلفة على القيم.
لذلك، نتحقق للتأكد من أن الخطأ ليس،
إذا لم يكن فارغًا،
فهذا يعني أن هناك خطأ وهكذا سنعرض الخطأ على الشاشة.
لذلك، هذا هو استخدام وظيفة التأكيد هنا.
الآن، إذا لم يحدث ذلك،
فهذا يعني أننا اتصلنا بشكل صحيح بالخادم،
لذلك سنقول `متصل بشكل صحيح إلى server`
const db = client.db (dbname) للاتصال بقاعدة البيانات،
ثم يمكننا أن نقول مجموعة const db. ،
وبالتالي فإن ديسيبل توفر لنا أساليب مختلفة تمكننا من
التفاعل مع الخادم لذلك سنقول db.collection (`disches`) لذلك،
سنحاول الوصول إلى مجموعة الأطباق داخل قاعدة البيانات هذه.
الآن، الشيء التالي الذي سنحاول القيام به هو
collection.insertone لذلك سنحاول إدراج كائن واحد في المجموعة،
وهذا الكائن سيكون
بالاسم والوصف، «اختبار».
لذلك، توفر هذه المجموعة هذه الطريقة تسمى InserTone،
والتي تسمح لنا بإدراج مستند واحد في هذه المجموعة،
والمستند هو الوسيطة الأولى لهذه الطريقة هنا.
الوسيطة الثانية للطريقة هي وظيفة رد اتصال،
وتأخذ وظيفة رد الاتصال معلمتين، والخطأ والنتيجة.
لذلك، ضمن وظيفة رد الاتصال هذه،
إذا تم الحصول على النتيجة،
فإننا قادرون على الوصول إلى المجموعة ومن ثم إجراء المزيد من العمليات.
لذلك، هنا، أول شيء سنقوم به هو التحقق للتأكد من أن الخطأ ليس فارغًا.
لذلك، سنقوم بتأكيد هناك،
ثم هنا يمكننا أن نقول، «بعد إدراج».
لذلك، بعد أن ندخل، ثم نرى أن
نحصل على قيمة النتيجة التي يتم إرجاعها هناك، لذلك هذه النتيجة.
ستوفر
هذه النتيجة أيضًا خاصية OPS هذه التي تقول عدد العمليات التي تم تنفيذها بنجاح.
لذا، هذا ما سأقوم بطباعته.
لذا، سيقول الرقم المدرج هو واحد.
لذلك، مما يعني أن هذا المستند معين قد تم إدراجه في قاعدة البيانات.
لذا، هذا ما سنؤكده هنا.
ثم، بعد ذلك، سنقوم بإجراء خيار آخر،
عملية على المجموعة، ونقول
، العثور على المجموعة، وسنحاول البحث عن جميع السجلات في المجموعة.
لذلك، هنا، سنقوم بتوفير سلسلة JSON فارغة أو كائن جافا سكريبت مستوى المقابلة.
لذلك، فإنه سيتم البحث عن كل ما هو موجود في المجموعة،
وبعد ذلك، وتوفير ذلك لنا.
بعد ذلك، يمكن تحويل هذا إلى صفيف من كائنات JSON.
لذلك، هذا هو السبب في أننا ندعو toArray،
وهذا يأخذ وظيفة رد الاتصال كمعلمة.
المعلمة الأولى بالطبع هي قيمة الخطأ، لذلك مرة أخرى،
نتحقق للتأكد من أن الخطأ ليس خاليًا.
ثم سنقول، وجدت console.log،
ومن ثم طباعة ما تم العثور عليه،
وسنقول console.log.
لذا،
ستقوم المعلمة الثانية هنا، المستندات، بإرجاع جميع المستندات من هذه المجموعة
التي تتطابق مع أي معايير تحددها هنا.
بما أن هذا فارغ،
فهذا يعني أنه سيتم إرجاع جميع المستندات الموجودة في المجموعة إلينا.
يمكنك تحديد عامل تصفية هنا،
قائلا أن الاسم يساوي قيمة،
وبعد ذلك سيتم استرداد المستندات التي تتطابق مع هذه القيمة فقط.
حتى هنا، اسمحوا لي فقط طباعة المستندات هنا،
للإشارة إلى أن هذا العنصر قد
تم إدراجه في المجموعة ومن ثم سيتم استرجاعه،
وبعد ذلك سنقوم فقط بطباعته فقط للتأكد من أن المستند الذي
أدخلناه للتو في العملية السابقة هو بالفعل في المجموعة،
ولذا سنقوم بطباعة هذا هنا.
الآن بعد هذا، ثم سوف نستخدم
طريقة دروبكوليكشن هنا.
لذلك، فإن دروبكوليكشن إسقاط المجموعة المحددة هنا.
لذلك، سنقول أطباق دروبكوليكشن،
لذلك أنا فقط ذاهب لإزالة مجموعة الأطباق من قاعدة البيانات الخاصة بي.
لذلك، أنا فقط ذاهب لتنظيف قاعدة البيانات ومن ثم
تركها مع قاعدة بيانات فارغة حتى نتمكن من الذهاب إلى
التمرين التالي حيث يمكننا مرة أخرى
تنفيذ نوع مماثل من العمليات للتحقق من ذلك.
هذا واحد يأخذ، كمعلمة ثانية،
وظيفة رد اتصال التي ترجع إما خطأ أو نتيجة.
داخل هذا، ونحن سوف تحقق والتأكد من أن تأكيد ليست فارغة،
وبعد ذلك سوف نقول، client.close.
لذلك سنقوم بإغلاق الاتصال بقاعدة البيانات على الفور.
لذلك مع هذا، هذه المجموعة البسيطة من الطرق تمكننا من التفاعل مع خادمنا،
وأيضا أنها توضح لنا كيف يمكننا التواصل مع الخادم باستخدام
الطرق المتوفرة من خلال وحدة عقدة MongoDB هذه أو برنامج تشغيل MongoDB.
لذلك، هنا، ترى أن أولا نقوم بإجراء عملية إدراج.
ثم بعد عملية الإدراج، لاحظ
أننا نقوم بالعملية الثانية داخل وظيفة رد الاتصال.
لذلك، يضمن هذا اكتمال هذه العملية قبل القيام بالعملية التالية.
لذلك، هذه هي المكالمة الثانية التي يتم تضمينها داخل وظيفة رد الاتصال الأولى،
ومن ثم في المقابل، داخل ذلك.
نحن ندعو مرة أخرى الأساليب هنا وداخل هناك.
لذلك، ترى أن هناك تعشيش لهذه المكالمات،
واحد داخل الآخر.
لاحظ الهيكل لأنني ذاهب إلى العودة
لشرح شيء عن هذا في واحدة من التدريبات في وقت لاحق.
لذا، لاحظ أن تعشيش هذه المكالمات داخل الآخر.
دعونا حفظ التغييرات،
ومن ثم نرى ما يفعله هذا التطبيق عند تنفيذه.
بالعودة إلى المحطة، مرة أخرى،
تأكد من أن خادم MongoDB الخاص بك قيد التشغيل، وهكذا،
عند تشغيله، ستقوم بطباعة الكثير من رسائل السجل على وحدة التحكم.
يمكننا فقط تجاهل رسائل السجل هذه في الوقت الحالي.
دعونا تشغيل تطبيق العقدة.
لذا، سنقول، بداية npm،
وعندما يتم تشغيل تطبيق العقدة،
تلاحظ ما يفعله تطبيق العقدة.
لذلك يقول، متصلا بشكل صحيح إلى الخادم، بعد إدراج،
ثم يظهر أن
هذا المستند معين قد تم إدراجها في مونغودب والعقدة على وجه الخصوص،
معرف معين هنا.
لذلك، لاحظ أن هذا لا يقول هذا هو معرف الكائن.
يتم إدراج هذا المعرف تلقائيًا بواسطة
برنامج تشغيل Mongo العقدة في مستندهم
عند محاولة إدراجه في خادم MongoDB هنا.
هذا التنسيق هو بالضبط نفس معرف الكائن الذي رأيناه.
بعد ذلك، قمنا بإجراء عملية البحث.
لذلك، تم العثور على هذا،
ومن ثم يطبع هذا البند هنا. و
نلاحظ أنه من الممارسة السابقة,
تركنا في و ثيقة سابقة كنا قد أدرجناها في الممارسة السابقة.
لذلك، لا يزال ينظر إليه في المجموعة هنا،
والوثيقة الجديدة التي أدخلناها هنا للتو.
وينظر إلى هذه الوثيقة أدناه مباشرة،
ولكن لاحظ أن هذين الشخصين لهما معرفان مختلفان.
يتطابق هذا المعرف مع معرف المستند الذي قمنا بإدراجه للتو.
لذلك، هذا هو بقايا من التمرين السابق.
بعد ذلك، بالطبع نحن إسقاط المجموعة بحيث يتم
إزالة هذه المجموعة الكاملة من الوثائق ومجموعة الأطباق من قاعدة بياناتنا.
لذلك، الآن قاعدة البيانات لدينا سوف تكون نظيفة وفارغة.
لذلك، يوضح لك ذلك كيف يمكننا استخدام
برنامج تشغيل MongoDB للتواصل من تطبيق العقدة مع الخادم.
الآن بعد أن لدينا طلبنا،
اسمحوا لي أن أعرف.gitignore
هنا ومن ثم وضع وحدات العقدة في.gitignore،
وكنت أفهم بسرعة لماذا أفعل ذلك.
بعد ذلك، سنعود ونقوم بتهيئة مستودع Git ثم نقوم بتنفيذ git.
بالعودة إلى المحطة الطرفية،
دعني أقوم بتهيئة مستودع Git،
وبعد ذلك، دعنا نتحقق من حالة Git وترى أن هناك بعض الملفات غير الملتزم بها.
لذلك اسمحوا لي أن تحقق منهم في ثم القيام جيت ارتكاب مع الرسالة،
عقدة مونغودب مثال واحد.
هذا هو الجزء الأول من التمرين،
لذلك سنقوم فقط بالتحقق من العناصر في مستودع git الخاص بنا.
و هذا يكمل هذا التمرين.
في هذا التمرين، رأينا كيف نقوم بتثبيت وحدة العقدة،
برنامج تشغيل MongoDB، ثم
تمكنا من التواصل مع خادم MongoDB الخاص بنا من داخل
تطبيق العقدة باستخدام الطرق التي يتم توفيرها من قبل برنامج تشغيل MongoDB.
سنواصل هذا التمرين في الجزء التالي من
التمرين حيث سنستكشف بعض الطرق الأخرى لبرنامج تشغيل MongoDB.