الآن بعد أن تعلمنا عن سكان النمس،
وكيف يمكننا من ملء وثيقة واحدة مع معلومات من وثيقة أخرى.
في هذا التمرين، سنقوم بتعديل الخادم السريع الذي كنا نعمل عليه حتى الآن.
في مخطط الطبق الذي حددناه في وقت سابق، كان لدينا تعليقات.
للتعليقات، كان لدينا حقل المؤلف
الذي نستخدمه لتخزين التفاصيل حول المؤلف.
في هذا التمرين، سنقوم بتحويل حقل المؤلف إلى مرجع إلى مستند مستخدم،
وسنستخدم سكان Mongoose لملء المعلومات
في مستند الأطباق عند الحاجة من
أجل توفير المعلومات للعميل.
الآن يجب أن يتم استخدام السكان ملء ونمس
بحكمة حتى لا يسبب الكثير من النفقات العامة على جانب الخادم.
الآن في هذا التمرين،
سنقوم باستخدامه ببساطة لملء المعلومات
في مجال المؤلف من تعليقاتنا.
لذلك، دعونا المضي قدما في التمرين لمعرفة كيف نستخدم السكان النمس.
للبدء في هذا التمرين،
انتقل إلى المشروع وافتح ملف user.js.
لذلك، في ملف user.js،
نقوم بتخزين مخطط المستخدم.
أنا ذاهب لتعديل مخطط المستخدم عن طريق إضافة في اثنين من الحقول أكثر في هناك.
واحد هو الاسم الأول،
والذي سيكون
من سلسلة النوع
ويكون الافتراضي عبارة عن سلسلة فارغة.
لذلك، الاسم الأول كما يوحي الاسم،
يخزن الاسم الأول للمستخدم ومن ثم سيكون لدينا حقل آخر يسمى اسم العائلة،
وهو أيضا من نفس النوع.
لذلك، أنا فقط ذاهب لنسخ هذه قطعتين من المعلومات ومن ثم
نسخها هنا وحتى الآن وثيقة المستخدم لدينا سوف تحتوي،
بالإضافة إلى اسم المستخدم وكلمة المرور، اسم
المستخدم والصمت والملح التي رأيناها في وقت سابق،
والتي يتم إضافتها تلقائيا من قبل جواز السفر المحلية وحدة النمس .
سيكون لدينا أيضا الاسم الأول واسم العائلة للمستخدم الذي يتم تعريفه هنا.
في وقت لاحق سنرى كيف سنقوم بتهيئة
هذه القيم عن طريق تعديل عملية تسجيل المستخدم.
الآن بمجرد الانتهاء من هذا،
وبهذه الطريقة
يمكن ببساطة استرداد معلومات المستخدم من خلال البحث عن مستند المستخدم هنا.
لذلك، الآن بعد أن لدينا معلومات حول المستخدم في مستند المستخدم،
والذهاب إلى مخطط الطبق،
لذلك الذهاب إلى ملف dishes.js.
في مخطط الطبق في وقت سابق،
كنا تخزين مؤلف المستند في شكل سلسلة هنا.
الآن سوف نستفيد من حقيقة أن
لدينا دعم سكان النمس.
لذلك سأقوم بتحويل حقل التعليق من سلسلة إلى
معرف كائن أنواع مخطط النمس.
لذا، بهذه الطريقة، آسف، حقل خاطئ.
قصدت تحويل حقل المؤلف إلى
معرف كائن أنواع مخطط النمس.
لذلك، فإن حقل المؤلف الآن بدلاً من تخزين سلسلة،
سيكون له مرجع إلى مستند المستخدم.
لذلك، عندما أقوم بتحويل حقل المؤلف إلى هذا النوع،
فإن الخاصية الثانية التي قمت بتعريفها هنا ستكون مرجعًا،
والذي سيكون مرجعًا لنموذج المستخدم.
لذا، بهذه الطريقة، سنقوم الآن
بتوصيل حقل المؤلف هذا وسيقوم حقل المؤلف هذا
ببساطة بتخزين مرجع إلى معرف مستند المستخدم،
بدلاً من تخزين التفاصيل حول المؤلف في شكل اسم.
الآن عندما نفعل ذلك،
يمكننا استخدام ملء النمس لملء
هذه المعلومات في وثيقة الأطباق لدينا كلما كان ذلك مطلوبا.
لذلك، مع هذا التعديل على مخطط الأطباق، في ملف dishes.js،
سنقوم الآن بتحديث جهاز التوجيه طبق لاستخدام السكان النمس.
لذلك، الذهاب إلى dishRouter.js.
في جهاز التوجيه طبق، أذكر أنه عندما كنا الحصول على طبق هنا،
والآن عندما تحصل على طبق هنا،
ونحن نقول الأطباق تجد ثم.
لذلك، الحق في تلك المرحلة،
ونحن سوف نقول الأطباق تجد وسنقول بعد هذا، ملء.
لذلك، نحن نستخدم دعم السكان في النمس
وسنقول تعبئة تعليقات المؤلف.
لذلك، من خلال ذكر هذا،
نحن نقول عندما
تم إنشاء وثيقة الأطباق لإرسال الرد إلى المستخدم،
ونحن ذاهبون لملء حقل المؤلف داخل هناك من وثيقة المستخدم هناك.
لذلك، ستضمن هذه الدعوة إلى الملء
أن الحقل الآخر سيتم ملؤه بالمعلومات كما هو مطلوب.
وبالمثل، الذهاب إلى معرف الطبق هنا،
حتى في معرف الطبق، نفس الشيء.
سنقول تعبئة وتعليقات المؤلف المضافة
إلى الأطباق التي يتم العثور عليها بواسطة معرف
في الحصول على نقطة نهاية معرف /طبق.
وبالمثل، في التعليقات أيضا عندما نسترد الطبق،
وسنقول ملء تعليقات المؤلف هنا
ونفس الشيء أيضا في جهاز التوجيه طبق،
تعليقات معرف الطبق، معرف التعليق أيضا.
أكبر ملء هذه المعلومات هناك.
الآن بالطبع، ما يعنيه هذا هو أنه عند نشر الطبق، في
وقت سابق كنت تضمين معلومات المؤلف في نص الرسالة.
لذلك، الآن هنا عندما نحاول دفع التعليق إلى ذلك،
لذلك هذا المنصب يتوافق مع حقل تعليقات معرف الطبق.
لذلك، هذه هي الطريقة التي كنا نشر تعليق على طبق معين.
لذلك، الآن في هذا المنصب،
لأننا لا نقوم بتخزين المعلومات حول المؤلف بعد الآن،
لذلك ما نحتاج إلى القيام به هو عندما ندفع العنصر إلى حقل المؤلف هناك.
لذا، هنا عندما تقوم بملء المعلومات في الطبق،
سيكون علينا أولاً أن
نذكر أن الجسم يحتوي على التعليق بالفعل،
لكن خاصية المؤلف لن تكون موجودة في نص الرسالة في الكتاب،
ولكن اعتمادًا على المستخدم الذي يقوم بنشر هذه المعلومات،
يمكننا على الفور ملء حقل المؤلف.
الآن، كيف نعرف المستخدم الذي ينشر هذه المعلومات؟
حقيقة أننا قمنا بالتحقق من المستخدم هنا للنشر،
يعني أن مستخدم معين يقوم بنشر هذه المعلومات،
ومن خلال القيام بالتحقق من المستخدم،
كنا قد تم تحميله بالفعل في req.user في كائن الطلب.
في كائن الطلب،
يمكننا أن ندخل ونقول مستخدم الحطام،
ثم تسطير أسفل السطر هنا.
لذلك، اسمحوا لي مرة أخرى أن أكرر هذه النقطة،
كيف نحصل على معلومات المؤلف هنا؟
الآن، تذكر أننا قمنا بتحديث مخطط الأطباق،
بحيث حقل المؤلف في التعليق ببساطة تخزين
معرف الكائن الذي يشير إلى المستخدم الذي يقوم بنشر هذا التعليق.
الآن، كيف نعرف المستخدم الذي ينشر هذا التعليق؟
الآن مرة أخرى، لتكرار هذه النقطة،
تذكر أنه عندما تحققنا من المستخدم هنا عن طريق استدعاء مصادقة التحقق من المستخدم،
فإن جواز السفر المصرح JWT قد قام بتحميل
معلومات المستخدم في هيئة الطلب في شكل req.user.
لذلك، سيحتوي هذا المستخدم
على معرف المستخدم المحدد الذي يقوم بالفعل بنشر هذا التعليق.
لذلك، قمنا بالفعل بالتحقق من صحة المستخدم،
وبالتالي يمكن ببساطة الحصول على معرف المستخدم عن طريق قول req.user.
_ID، ومعرف هذا المستخدم،
سأقوم بتعيين هذا إلى حقل المؤلف خارج التعليق.
الآن عندما يأتي التعليق،
فإن التعليق في نص رسالة الطلب سوف
يحتوي فقط على حقل التصنيف وحقل التعليق.
الآن نحن لا نريد أن نرسل بشكل صريح حقل المؤلف بعد الآن من جانب العميل،
بدلاً من ذلك يجب أن يتم إدراجه تلقائيًا
على جانب الخادم استنادًا إلى صحة
المستخدم هذه هي النقطة التي كنت
أكررها في هذا التعديل الذي قمت به هنا.
لذلك، يتم الحصول على معلومات المستخدمين تلقائيًا من req.user الذي يتم
تحميله في نص رسالة الطلب من قبل المستخدم التحقق من المصادقة،
والذي سيتم استخدام مصادقة Passport مع استراتيجية JWT هناك.
بالإضافة إلى ذلك، الآن عندما نتلقى الطبق المحدث هنا،
نحتاج إلى ملء معلومات المؤلف في الطبق.
لذلك، في هذه المرحلة،
عندما نتلقى الطبق هنا،
ونحن ثم نذهب للبحث في الأطباق هنا.
لذلك، سوف نقول الأطباق. findbyid
ومن ثم توفير معرف الطبق كمعلمة هنا،
لذلك سنقول العثور عن طريق معرف،
معرف الطبق، وبعد ذلك،
نحن بحاجة إلى ملء المؤلف التعليقات هنا،
وبعد ذلك سنقول ثم طبق.
بالداخل هناك، سنرسل معلومات الطبق هذه إلى المستخدم هنا
لذلك، اسمحوا لي أن قطع ذلك ولصق ذلك في هنا.
لذلك، هذا التعديل مطلوب لأنني الآن بحاجة إلى ملء
معلومات المؤلف مرة أخرى في
التعليق قبل أن أتمكن من إرسال التيار مرة أخرى إلى المستخدم.
لذلك، هذا هو التعديل الإضافي الذي نحتاج إلى
القيام به عندما نستخدم سكان النمس هنا.
وبالمثل، الآن الذهاب إلى وضع،
عندما نقوم بتعديل تعليق محدد مع معرف التعليق،
لذلك هذا هو تحت تعليق تعليق معرف جزء.
لذلك، عندما نفعل وضع هنا،
لذلك نجد أولا الأطباق تجد عن طريق معرف req params طبق معرف،
ثم في الطبق.
لذا، فإن أول شيء نتحقق منه هو التأكد من أنه إذا لم يكن الطبق فارغًا،
وأن معرف تعليقات الطبق ليس فارغًا،
لذلك قمنا بفحص للتأكد من أن التعليق موجود بالفعل في الطبق،
ثم عندما يتم إرجاع الطبق نفسه،
فنحن بحاجة إلى البحث مرة أخرى
عن الطبق لأن نحن بحاجة إلى ملء المؤلف التعليقات في الطبق.
findbyID (معرف الطبق)،
والسبب في أننا بحاجة إلى القيام بحث واحد أكثر هو
لأننا بحاجة إلى ملء التعليقات. المؤلف هنا،
لذلك هذا هو السبب الوحيد الذي يجعلنا بحاجة إلى القيام بحث واحد أكثر هنا.
ثم عندما نتلقى الطبق هنا،
من الواضح لأننا فقط تحديث الطبق بحيث يجب
العثور على معلومات الطبق في قاعدة البيانات،
بحيث يجب أن تعمل بشكل جيد ومن ثم داخل هناك سوف يقول
رمز حالة الخطر 200 الدقة تعيين رأس نوع المحتوى تطبيق json،
ومن ثم إرجاع الطبق هنا،
وبعد ذلك سوف نتعامل مع الخطأ هنا،
ومن ثم أخرى إذا كانت الأطباق
الآن وأيضا الأخطاء الأخرى التي قمنا بإعدادها في وقت سابق،
وسوف يتم التعامل معها كالمعتاد هنا.
لذلك، هذه هي التغييرات الإضافية التي نحتاج إليها للتأكد عند تحديث الطبق،
عندما تقوم بإرسال التعليق المحدث أو الطبق المحدث،
ثم سنقوم بملء التعليق في الطبق هنا.
وبالمثل،
والذهاب إلى حذف هنا، وبعد ذلك بعد حذف التعليق،
مرة أخرى نحن في طريقنا إلى جلب الطبق وملء معلومات المؤلف.
لذلك، اسمحوا لي فقط نسخ هذا الجزء،
وبعد ذلك سوف نفعل بالضبط نفس الشيء هنا،
لذلك سنقول حفظ الطبق،
ثم نحن في طريقنا إلى أن يتم التحقق من dish.Findbyid (مؤلف الطبق)،
وبعد ذلك سنقوم بملء مؤلف التعليقات،
وبعد ذلك سنقول (ثم) طبق،
ثم res.StatusCode، وهلم جرا،
ومعالجة الأخطاء المتبقية تماما كما كان من قبل هنا.
لذلك، مع هذا التعديل على جهاز التوجيه الطبق،
والآن النقطة الأخيرة التي نحتاج إلى النظر فيها هي حقيقة أنه في ملف user.js،
أضفنا الآن إلى الحقول،
الاسم الأول وحقل الاسم الأخير الذي سيكون افتراضيًا سلاسل فارغة.
لذلك، عندما يقوم المستخدم بالتسجيل،
يجب أن نسمح للمستخدم بتوفير الاسم الأول
واسم العائلة في عملية التسجيل.
الآن، أين يحدث ذلك؟
الذي يحدث في. js المستخدم.
لذلك، والذهاب إلى المستخدمين users.js،
عندما يقوم المستخدم بنشر التسجيل المائل، في
وقت سابق كنا فقط نشر اسم المستخدم وكلمة المرور.
بالإضافة إلى هذين الاثنين،
في كائن json الذي نقوم بتضمينه في نص رسالة الطلب القادمة،
رسالة طلب المشاركة القادمة من جانب العميل،
يمكننا أيضًا تضمين الاسم الأول واسم العائلة للمستخدم.
لذلك، عندما يتم تضمين الاسم الأول واسم العائلة للمستخدم،
فما الذي سأفعله هنا؟
لذلك، تذكر أنه عندما تقول user.register في هذه المرحلة تأتي معلومات المستخدم،
ثم قمت بإرسال اسم المستخدم هنا،
وكنت قد قمت أيضًا بتعيين كلمة المرور هنا والتي سيتم
تحويلها إلى التجزئة والملح بواسطة النمس المحلي جواز السفر.
الآن، إذا لم يكن هناك خطأ وهذا يعني أن تسجيل المستخدم كان ناجحا،
وحتى في هذه المرحلة ما سنفعله هو أننا سوف نقول إذا req.body.
الاسم الأول لذا، مما يعني أن نص رسالة الطلب الواردة،
إذا كان يحتوي على الاسم الأول،
فسنقول user.firstname يساوي req.body.firstname.
وبالمثل، للاسم الأخير أيضا.
لذلك في هذه المرحلة،
سيكون لدينا المستخدم متاح هنا.
انظر المستخدم يأتي كمعلمة ثانية لوظيفة رد الاتصال هذه هنا.
لذلك، نقوم بإعداد الاسم الأول عن طريق تغيير
خاصية الاسم الأول داخل مستند المستخدم هنا قائلا، req.body.firstname.
إذا كان موجودًا، فسنقوم بتعيين الاسم الأول للمستخدم على ذلك.
وبالمثل، إذا كان اسم req.body.last متاحًا،
لذلك سنقوم أيضًا بتحديث الاسم الأخير للمستخدم كـ req.body.lastname.
وبمجرد الانتهاء من هذين التغييرين على الاسم الأول والاسم الأخير،
ثم نحن بحاجة إلى حفظ التعديل الذي قمنا به للمستخدم.
لذلك، قمنا للتو بتحديث المستخدم.
لذلك، سنقول user.save ثم هذا
سيعود الخطأ أو المستخدم.
لذلك، إذا تم حفظ التعديل بشكل صحيح،
فإنه سيعود الخطأ،
وإلا فإنه سيعود قيمة المستخدم وهذا جواز السفر مصادقة
سنفعل ذلك داخل هذا المستخدم هنا.
لذلك، سنقول، user.save (err، المستخدم).
ثم أيضا نحن بحاجة إلى عبور التحقق للتأكد من أنه
إذا كان هناك خطأ في حفظ التغييرات للمستخدم،
ثم سنقول رمز الحالة ريس 500،
لذلك اسمحوا لي نسخ هذا من هناك.
لذلك، سنقول رمز الحالة الدقة 500،
الدقة تعيين نوع محتوى رأس التطبيق json و res.jason هنا.
ثم، ونحن سوف نعود إلى هذه النقطة.
إذا لم يكن هناك خطأ،
ثم بالطبع يمكنك مصادقة المستخدم عن طريق استدعاء
جواز السفر المصادقة مع المحلية للتأكد من أن
تسجيل المستخدم قد تم بنجاح وهذا يجب أن
يتم بشكل صحيح وعندما هذه الحالة سوف يعود هذه الرسالة مرة أخرى إلى جانب العميل.
نحن بحاجة إلى إغلاق هذا user.save هنا.
لذلك، تأكد من إغلاق نقطة النهاية هذه بشكل صحيح.
لذلك، يتم إغلاق user.save هنا، وهذا كل شيء.
هذه هي التغييرات التي نحتاج إلى إجرائها للمستخدم.
لذلك، بعد تسجيل المستخدم مع اسم المستخدم المحدد وكلمة المرور المعطاة،
ثم بعد تسجيل المستخدم بنجاح،
ثم سنقوم بتعيين الاسم الأول وحقل اسم العائلة
لمستند المستخدم باستخدام هذين هنا.
نريد التأكد من
تسجيل المستخدم بنجاح قبل أن نرسل الاسم الأول واسم العائلة لذلك.
لذلك، هذا هو السبب في أننا ننفذ هذه العملية بعد
تسجيل المستخدم بنجاح. هذا كل شيء
دعونا حفظ التغييرات والذهاب والتحقق من الخادم.
بعد حفظ التغييرات،
دعونا نذهب الآن إلى المحطة
ثم قبل أن أبدأ الخادم،
اسمحوا لي أولا التحقق من بلدي MongoDB وحذف المستخدم الذي قمنا بتسجيله في وقت سابق.
لذلك، سنقول استخدام الارتباك وبعد ذلك سنقول db.usersfind.
لذلك، نحن نعلم أن هذا المستخدم معين قد تم تسجيله في وقت سابق،
ولكن عندما
نقوم بتسجيل هذا المستخدم، لم نقم بتسجيل الاسم الأول واسم العائلة للمستخدم.
لذلك، سأقوم بحذف هذا المستخدم ثم إعادة تسجيل المستخدم.
لذلك، للقيام بذلك باستخدام تموج مونجو، سأقول أن مستخدمي ديسيبل يسقطون،
وبعد ذلك سنقول أن المستخدمين ديسيبل يجدون،
ويجب أن يعود فارغة.
لا يوجد مستخدمون مسجلون هناك وبعد ذلك سنخرج من تموج مونجو
وهكذا، بمجرد إزالة هذا المستخدم المسجل،
ثم، اسمحوا لي أن أبدأ الخادم الخاص بي.
وبمجرد تشغيل الخادم،
دعنا نذهب إلى ساعي البريد ثم تسجيل
مستخدم جديد جنبا إلى جنب مع الاسم الأول واسم العائلة للمستخدم.
بعد ذلك، سيسجلون الدخول كمستخدم، ثم سننظر في كيفية
مساعدة سكان Mongoose على ملء المعلومات حول
المستخدم تلقائيًا في المستند هناك.
الآن الذهاب إلى ساعي البريد،
اسمحوا لي أن القيام بالتسجيل من مستخدم جديد.
لذلك، أنا أفعل وظيفة لوكالهوست: 3000 مستخدم الاشتراك.
في نص الرسالة،
كان لدينا اسم المستخدم وكلمة المرور بالفعل هناك.
اسمحوا لي أن أضيف في حقلين إضافيين:
الاسم الأول، اسم العائلة.
ثم قم بتسجيل هذا المستخدم.
لذلك، بمجرد تسجيل المستخدم،
يمكنك أن ترى أن التسجيل كان ناجحا.
الآن، اسمحوا لي تسجيل الدخول كمستخدم هذا.
لذلك، لتسجيل الدخول كمستخدم،
اسمحوا لي أن تفعل وظيفة وعبر التحقق للتأكد.
لذلك، أنا أفعل وظيفة للمستخدمين تسجيل الدخول.
اسمحوا لي عبر التحقق وأرى أن اسم المستخدم وكلمة المرور مكتوبة بشكل صحيح هناك.
لذلك عندما أقوم بتسجيل الدخول،
يجب أن أقوم بتسجيل الدخول بنجاح ويجب أن أتمكن من الحصول على هذا الرمز المميز هناك.
لأن هذا الرمز هو ضروري بالنسبة لنا لتكون قادرة على إضافة في طبق إلى موقع الخادم لدينا.
لذلك، بعد الحصول على الرمز المميز،
انسخ سلسلة الرمز المميز هذه وحفظه لأنك ستحتاج إلى ذلك في
رأس التفويض للنشر
وضع العمليات وحذفها التي ستقوم بها لاحقًا.
لذلك اسمحوا لي أن نسخ ذلك الرمز المميز.
الآن، عادة الطريقة التي سأبقي بها هذه الرموز هي،
أنني سأقوم فقط بفتح مستند نصي ثم نسخه ولصقه في المستند النصي.
بحيث لطلبات ساعي البريد اللاحقة،
يمكنني ببساطة نسخ هذه السلسلة ثم لصقها في
رأس التفويض، إذا لزم الأمر.
لذلك، اسمحوا لي أن نسخ هذا الرمز المميز وهنا لدي وثيقة نصية مفتوحة هنا.
لذلك، سأقوم بلصق هذه السلسلة في هذا المستند النصي.
لذلك، هنا لدينا الرمز الذي حصلنا عليه.
دعونا الآن نذهب ونشر طبق إلى الخادم لدينا.
العودة إلى ساعي البريد،
اسمحوا لي أن نشر طبق إلى الخادم.
لذا، هذا هو المكان الذي سأختار فيه المشاركة هنا.
داخل هنا، لدي معلومات الطبق التي كنت قد استخدمت في وقت سابق ولكن للتعليقات،
والآن، أذكر أنه في وقت سابق كان لدينا حقل المؤلف الذي كان يخزن سلسلة.
لذلك، كل هذه التعليقات غير صالحة.
لذلك، سأقوم بحذف كل هذه التعليقات من التقديم
لأننا نتوقع الآن من المستخدم نشر التعليقات من تلقاء نفسه.
عندما يقوم المستخدم بنشر التعليقات،
سنقوم تلقائيًا بإضافة معرف المستخدم إلى حقل المؤلف للتعليقات.
لذلك، اسمحوا لي أن نشر هذا الطبق هنا.
الذهاب إلى الرأس،
في رأس التفويض، سأقول،
حامل ثم، قم بلصق الرمز المميز ثم أرسله.
يجب أن أفعل وظيفة على ذلك.
لذلك، سأقول آخر وهكذا عندما أقوم بنشر الآن،
ترى أن هذا الطبق قد تم نشره على جانب الخادم،
ومع مجموعة التعليقات فارغة في هذه اللحظة.
لذلك، بعد أن نشر هذا الطبق،
اسمحوا لي أن نسخ معرف هذا الطبق.
لذلك، اسمحوا لي أن نسخ هذا المعرف للطبق لأنني سوف
تحتاج إلى أن نشر تعليقات لهذا الطبق.
ثم، والذهاب إلى محرر النصوص الخاص بي،
وأنا ذاهب لحفظ هذا الهوية من الطبق هنا.
الآن، بالطبع، بمجرد بناء جانب العميل الخاص
بك، سيحصل عميلك تلقائيًا على كل هذه المعلومات.
لذلك، سيتمكن عميلك تلقائيًا من إرسال الرمز المميز وما إلى ذلك.
لذلك، لا تحتاج إلى القيام بهذا الشيء القطع واللصق ولكن مع ساعي البريد،
هذه هي الطريقة الوحيدة التي يمكننا بها إضافة أي معلومات إلى طلبات ساعي البريد،
التي تخرج من ساعي البريد إلى الخادم.
الآن، من أجل إقناع أنفسنا أن هذا الطبق موجود بالفعل،
اسمحوا لي أن الحصول على المستضيف المحلي: 3000/أطباق.
عندما أفعل الحصول على, يمكنك أن ترى في الواقع أن
هذا الطبق معين موجود على جانب الخادم.
لذلك، دعونا الآن نحاول نشر تعليق.
لذلك، لنشر تعليق،
دعونا نفعل وظيفة وسنقول،
لوكالهوست: 3000/أطباق، شرطة مائلة ومعرف الطبق الذي
قمت بنسخه للتو، وتعليقات مائلة.
عند النشر على التعليقات،
تحتاج إلى التأكد من أنه في الجسم سنضيف في التعليق هنا.
لذلك، تعليق نموذجي
يحتوي على تصنيف يقول
خمسة ثم التعليق.
لذلك، اسمحوا لي فقط كتابة في بعض التعليقات العشوائية،
فقط لإثبات لكم.
لذا، يجب أن يكون هذا في نص المنشور للتعليقات وفي الرأس،
يجب أن نضيف رأس التفويض.
لذلك، بالنسبة لرأس التفويض، سنقول، حامل.
أحتاج إلى لصق الرمز المميز هنا، مع
لصق القيمة المميزة التي قمت بحفظها في وقت سابق.
دعونا الآن نشر هذا التعليق.
ثم، عندما يتم نشر التعليق،
دعونا ننظر إلى القيمة التي تم إرجاعها هنا.
لذلك، كما كنت تصفح أسفل،
يمكنك أن ترى أن الطبق الذي تمت إضافة التعليق، قد عاد.
لاحظ أن معلومات الطبق هناك ولكن لاحظ على وجه الخصوص،
ما هو وارد في التعليق الذي تم نشره هنا.
لذلك، كما ترون، أنت تعرف بالفعل أن المحدثة
والمنشأة في الحقول تتم إضافتها تلقائيًا بواسطة النمس.
التقييم والتعليق الذي قدمناه موجودان
هناك ولكن لاحظ كيف
يحتوي حقل المؤلف الآن على المعرف المقابل للمستخدم.
الآن، كما رأينا في التعليمات البرمجية كيف يتم إضافة معلومات الحقل المؤلف، الآن،
إذا كنت تفعل الحصول على الأطباق،
ستلاحظ أن هذا الحقل المؤلف سيتم
ملؤها تلقائيا من قبل المستخدمين المعلومات هنا.
لذلك، دعونا الآن القيام الحصول على المضيف المحلي: 3000/أطباق.
لذلك، عندما نفعل الآن الحصول على هذه النقطة،
ستلاحظ الآن أنه في الأطباق هنا،
هناك حق، والمعلومات حول الطبق
موجودة بالفعل ولكن لاحظ كيف يتم بناء التعليق الآن.
يحتوي التعليق الآن على
حقول التعليق التصنيف كما رأينا في وقت سابق،
وتحديثها وإنشاؤها في،
ولكن لاحظ ما حدث لحقل المؤلف هنا.
لذلك، عندما تقوم بطلب الحصول على لأننا قمنا بتعبئة
على جانب الخادم عند استدعاء عملية الحصول على،
قام الملء تلقائيًا بملء
معلومات المؤلف في موضع في حقل المؤلف هنا.
لذلك، في هناك، يمكنك أن ترى أنه من المؤلف،
يمكنك الآن البحث عن الاسم الأخير
ومعلومات الاسم الأول تلقائيا من حقل المؤلف.
لذلك، إذا كنت بحاجة إلى بناء تعليق،
لديك الآن التقييم،
والتعليق، وأيضا الاسم الأول واسم العائلة
للمؤلف المضمنة تلقائيا في هذا المستند.
أيضا، يتم تضمين اسم المستخدم أيضا في هذا المستند.
لذا، هذه هي الطريقة التي يمكنك بها إضافة معلومات من مستند آخر وملء
مستند ثانٍ بتلك المعلومات قبل الرد مرة أخرى من موقع الخادم.
لذلك، هذا هو استخدام السكان النمس وكيف
يمكننا ملء المعلومات تلقائيا في وثيقة النمس.
مع هذا، نكمل هذا التمرين.
وفي هذه العملية, شهدنا استخدام السكان النمس, و رأينا أيضا
كيف يمكننا ملء المعلومات من و ثيقة إلى و ثيقة أخرى.
حيث، عندما نقوم بتعديل الخادم للقيام بالسكان للطلبات، فإن
النمس سوف يعتني تلقائيًا بملء هذه المعلومات بالنسبة لنا.
كل ما نحتاج إلى القيام به،
هو تخزين المرجع إلى المستند الآخر في شكل معرف الكائن،
في المستند الذي تريد ملء هذه المعلومات فيه.
مع هذا، نكمل هذا التمرين.
هذا هو الوقت المناسب بالنسبة لك للقيام git-commit مع الرسالة، السكان النمس.