اذهب إلى المحتوى
  • 0

تعديل في mongodb model

احمد قايد

السؤال

اود ان احدث الصورة الشخصية للمستخدم , حيث اني حعلت لها قيمة افتراضة عند انشاء المستخدم حسابا  

طبعا : (req.file) اتية من مكتبة multer 

يتم رفع الصورة بنجاح الى ملف اسمه image في جذر المشروع 

لكن ما اود القيام هو بعد اختيار الصورة ورفعها تبديل الصورة الافتراضية بالصوره اللتي اختارها المستخدم 

image.thumb.png.6e4d5ce6ec57fe70a9c1872f3f48b25c.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الكود الخاص بك لن يعمل بشكل صحيح، وذلك لأنه لديك أخطاء عند استخدامك التابع updateOne، وهذا هو الكود الصحيح:

User.updateOne({_id: req.user._id}, {$set: {img_uri: req.file.path}})

اخطاؤك تكمن في استخدام user عوضا عن User، وذلك خاطئ لأننا نريد التعديل على ال User الذي هو نفسه ال model، وليس التعديل على ال user (بحرف صغير).

والخطأ الثاني هو أنه عند البحث على المستخدم الذي نريده، علينا ادراج ال id الخاص به، أما أنت فقد أدرجت ال user نفسه الذي بحثت عنه مقابل خانة ال id، وهذا خاطئ لأن ال user الذي بحثت عنه يحتوي على عدة خواص ومنها ال id.

لذلك فان الكود سيعمل بعد التعديل والتأكد من وجود ال file, user, img_uri

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 ساعة قال محمد سعد شحرور:

الكود الخاص بك لن يعمل بشكل صحيح، وذلك لأنه لديك أخطاء عند استخدامك التابع updateOne، وهذا هو الكود الصحيح:

User.updateOne({_id: req.user._id}, {$set: {img_uri: req.file.path}})

اخطاؤك تكمن في استخدام user عوضا عن User، وذلك خاطئ لأننا نريد التعديل على ال User الذي هو نفسه ال model، وليس التعديل على ال user (بحرف صغير).

والخطأ الثاني هو أنه عند البحث على المستخدم الذي نريده، علينا ادراج ال id الخاص به، أما أنت فقد أدرجت ال user نفسه الذي بحثت عنه مقابل خانة ال id، وهذا خاطئ لأن ال user الذي بحثت عنه يحتوي على عدة خواص ومنها ال id.

لذلك فان الكود سيعمل بعد التعديل والتأكد من وجود ال file, user, img_uri

شكرا استاذي 

كلامك صحيح وقد قمت بحل المشكله بنفسي 

ولكن شكرا لك 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...