الآن بعد أن كان لدينا نظرة عامة سريعة على Mongoose ODM
وكيف يجلب Mongoose المخططات لهيكلة المستندات التي نخزنها في MongoDB لدينا،
دعونا ننظر في كيفية الاستفادة من
وحدة عقدة Mongoose ومن ثم دمجها في تطبيق العقدة لدينا.
ثم استخدم Mongoose للتواصل مع
خادم MongoDB الخاص بنا ثم تخزين
المستندات واستردادها بمعلومات البنية في المستندات.
للبدء في هذا التمرين،
انتقل إلى موقع مناسب على جهاز الكمبيوتر الخاص بك.
لذلك، أنا هنا في مجلد عقدة جس حيث تم تخزين
جميع الأمثلة من هذه الدورة وبعد ذلك أنا ذاهب إلى
إنشاء مجلد جديد باسم عقدة النمس.
هذا هو المكان الذي سنقوم بإنشاء تطبيق العقدة باستخدام Mongoose المقبل.
في المحطة الطرفية أو نافذة الأوامر،
انتقل إلى مجلد Mongoose العقدة ثم قم بتهيئة تطبيق عقدة هناك.
لذلك، اسمحوا لي أن اكتب npm init ثم
قم بتهيئة تطبيق العقدة ومن ثم أود تسمية التطبيق
كما عقدة النمس ونقطة الدخول هي index.js git التاريخ
والكلمات الرئيسية والمؤلف والترخيص وسنقول حسنا.
بمجرد إنشاء ملف package.json الخاص بالعقدة،
افتح المشروع في محرر النصوص الذي تختاره.
لذلك، هنا لدي مشروعي مفتوح في فيسوال ستوديو.
اسمحوا لي أن أذهب إلى ملف package.json ثم إضافة في
البرنامج النصي بدء التشغيل ومن ثم
سنقول بدء مؤشر عقدة كالمعتاد كلما بدأنا مع تطبيق عقدة جديدة.
ثم، والذهاب إلى المحطة أو نافذة الأوامر، دعونا تثبيت Mongoose.
لذلك، في موجه نوع npm تثبيت Mongoose، حفظ.
الذي في الوقت الحالي هو النمس 5.1.7.
لذا، هذه هي الإصدارات التي سأستخدمها في هذه الدورة.
ثم الذهاب إلى طلبي في المحرر.
اسمحوا لي إنشاء مجلد فرعي في المشروع يسمى نماذج.
لذلك، هذا هو المكان الذي سأقوم بتخزين جميع النماذج لطلبي.
في مجلد النماذج،
اسمحوا لي إنشاء ملف جديد باسم dishes.js.
لذلك، هذا هو المكان الذي سأقوم بإنشاء المخطط ونموذج
لمستندات أطباقي التي سأقوم بتخزينها،
مجموعة الأطباق التي تخزن الوثائق لكل أطباق.
لذلك، هناك حق، اسمحوا لي أولا استيراد النمس.
لذا، سنحتاج إلى Mongoose في هذا الملف ثم نقول
مخطط const هو مخطط Mongoose.
ثم، سنقوم بإنشاء المخطط هنا.
لذلك، سنقول كونست ديششيما مخطط جديد.
لذا، هذا هو المكان الذي أحدد فيه المخطط لطبقي.
داخل هذا المخطط، اسمحوا لي أن تحديد القيم المختلفة.
لذلك، سأقول الاسم،
وهو نوع String.
لذلك، هذا هو نوع المخطط ومن ثم هذا أود أن أعلن كما هو مطلوب.
لذا، أنا سَأَقُولُ صحيحُ
لذلك، سيكون لكل مستند الاسم كحقل مطلوب هناك، وبعد ذلك
سأعلن أيضًا عن هذا كمعنى فريد أنه
لا يجب أن يكون هناك وثيقتان لهما نفس حقل الاسم هناك.
لذلك، هذا هو الحقل الأول في وثيقتي.
ثم، سوف نقوم أيضا بتضمين حقل آخر يسمى باسم، وصف.
الوصف هو من سلسلة النوع والمطلوب true.
أيضا، يمكننا أن يكون Mongoose تلقائيا إدراج
الطوابع الزمنية في نموذجنا.
لذلك، هناك الحق يمكننا فقط إعداد الطوابع الزمنية العلم: صحيح.
لذا، سيؤدي ذلك تلقائيًا إلى إضافة
الطوابع الزمنية التي تم إنشاؤها وتحديثها في كل مستند يتم تخزينه
في تطبيقنا وسيقوم تلقائيًا بتحديث هذه القيم.
كلما قمنا بتحديث المستند وسيتم
تهيئة ما تم إنشاؤه تلقائيًا عندما يكون المستند أول منشئ في هذا الوقت.
بعد هذا، سوف نقول أطباق فار.
لذا، بالنظر
إلى المخطط، سنقوم الآن ببناء النموذج من هذا المخطط.
لذلك، سنقول نموذج النمس وطبق،
وهذا سيكون باستخدام مخطط الطبق الذي أعلناه للتو في وقت سابق.
ثم سنقوم بتصدير
هذا النموذج من هذا الملف هنا.
لذلك، سنقول أطباق تصدير وحدة.
لذا، قمنا الآن ببناء
مخطط Mongoose والنموذج المقابل ويتم تصدير النموذج الآن من هنا.
لذلك، يمكن استيراد هذا في تطبيقنا واستخدامها.
لذلك، داخل مجلد المشروع لدينا،
اسمحوا لي إنشاء ملف جديد باسم index.js.
في ملف index.js،
اسمحوا لي أولا تتطلب Mongoose،
وبعد ذلك يمكننا أن نقول
أطباق const تتطلب نماذج الأطباق.
لأننا قد أنشأنا بالفعل نموذج الأطباق
في ملف أطباق النماذج هناك ومن ثم نحن نطلب ذلك هنا.
الآن، لإنشاء الاتصال بخادم Mongo،
سنقول const URL mongodb.
المضيف المحلي 27017، الارتباك.
لذا، فإن قاعدة البيانات هذه هي تلك التي سنقوم بالاتصال بها من تطبيقنا
وبعد ذلك يمكننا إنشاء الاتصال بالقول const Connect Mongoose.
يدعم Mongoose طريقة الاتصال هذه،
والتي تأخذ عنوان URL كمعلمة أولى.
لذلك بمجرد أن نكون قد أنشأنا هذا،
ثم نقول ببساطة الاتصال ثم.
لاحظ أنه بما أننا نستخدم بالفعل الوعود،
يمكننا فقط أن نقول الاتصال ثم ثم هذا سوف يستغرق
وظيفة كمعلمة
وداخل هنا يمكننا الآن الاتصال بقاعدة البيانات.
حتى الآن مرة واحدة يتم تأسيس هذا الاتصال،
واسمحوا لي أن تفعل سجل وحدة التحكم
قائلا متصلا بشكل صحيح إلى الخادم،
وهنا يمكنني إنشاء
طبق جديد بالقول فار طبق جديد ثم أطباق وداخل هنا يمكنني تحديد وثيقة لذلك أنا إنشاء
طبق جديد من هذا النوع ثم هنا
سأحدد الحقلين المطلوبين.
لذلك سأقول الاسم
والوصف وهكذا هذا هو كيف يمكنك إنشاء طبق جديد وبعد ذلك بمجرد إنشاء
طبق جديد من النموذج سوف نقول ببساطة طبق جديد حفظ.
ستؤدي طريقة الحفظ إلى
حفظ قيمة الطبق هذه ثم كما تتوقع سيعود وعد
ثم هنا سوف نحصل على قيمة الطبق كمكالمة مرة أخرى هناك وبعد ذلك،
يمكنني ببساطة تسجيل قيمة الطبق هنا وبعد ذلك سوف نقول
أطباق تجد وهكذا سنجد
كل الأطباق ومن ثم قل EXEC.
سيضمن exec أن يتم
تنفيذ ذلك وأنه سيعود وعد بحيث يتم
إرجاع الوعد بحيث يمكن بعد ذلك
سلسلة الطريقة إلى ما تبقى منها.
لذلك ترى كيف أستخدم الوعود ثم أقوم باستدعاء الطريقة السابقة حتى
يجد هذا الشخص جميع الأطباق داخل قاعدة البيانات الخاصة بي،
في مجموعة الأطباق ثم يجعله متاحًا لي.
لذلك عندما أحصل على الأطباق ثم يمكنني فقط وحدة التحكم تسجيل الأطباق فقط لمعرفة ما يتم
إرجاعه وهذا من الواضح في هذه المرحلة يجب أن
يعود هذا الطبق واحد الذي قمت بإدخاله في
مجموعة الأطباق الخاصة بي وبعد ذلك سنقول
إرجاع أطباق إزالة مع
كائن جافا سكريبت فارغ والتي سوف إزالة جميع الأطباق من
قاعدة البيانات وإرجاع
اتصال النمس قريب الذي يغلق الاتصال بقاعدة البيانات.
وقبض على أي خطأ في هذه المرحلة.
لذلك سنستخدم المصيد ثم سجل وحدة التحكم.
هذا كل شيء لذلك ما نقوم به هنا هو أننا نخلق هذا الطبق الجديد ثم نقوم
بحفظ الطبق ثم نجد كل الأطباق من المجموعة.
هذا كل شيء نحن نستخدم الوعود هنا،
لذا قيدنا جميع الأوكار هنا. هذا كل شيء
دعونا حفظ التغييرات ومن ثم نرى تنفيذ هذا التطبيق.
انتقل إلى المحطة،
في بداية npm نوع موجه
وسترى أن تطبيق عقدة بلدي يعمل ومن ثم يظهر،
أولا، أنه قد خلق هذا الطبق معين.
لاحظ على وجه الخصوص، أن هذين الحقلين، اللذين تم
تحديثهما وإنشائهما في،
تم إضافة هذين الطوابع الزمنية تلقائيًا إلى
الطبق هنا وحتى تتمكن من رؤية أن تم إنشاؤه
وتحديثه في الطوابع الزمنية هي نفسها تمامًا في الوقت الحالي
ثم يتم إضافة المعرف تلقائيًا في.
في الخطوة التالية نقوم بطباعة جميع الأطباق التي تم استردادها وحتى
تتمكن من رؤية أن هذا الطبق واحد هو في المجموعة،
مجموعة الأطباق، وهذا هو ما يتم طباعته على الشاشة هنا.
دعونا الآن تهيئة مستودع Git ثم دعونا إعداد ملف gitignore حصلت
حتى الذهاب إلى المحرر ثم نقوم بإنشاء ملف.gitignore ثم إضافة
وحدات العقدة إلى ملف gitignore وحفظ التغييرات
ثم العودة إلى المطالبة اسمحوا لي أن
اكتب حالة git ونرى أن
لدينا هذه الملفات التي لم يتم فحصها لذلك سنقول
git إضافة ثم git
ارتكاب الرسالة Mongoose الجزء الأول.
مع هذا نكمل هذا التمرين.
في هذا التمرين رأينا مدى سهولة إعداد تطبيق عقدة مع
النمس والاتصال بخادم MongoDB الخاص بنا ثم التفاعل معه.
الآن بما أن النمس يبني على خادم MongoDB،
يمكن لـ Mongoose الوصول إلى جميع الطرق المختلفة
التي يدعمها برنامج تشغيل MongoDB أيضًا.