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

الحصول على الوثيقة من mongoose في دالة pre

خالد مرتضى

السؤال

عندما اقوم باستخدام دالة

userschema.pre('save',function(){console.log(this)}

يتم طباعة الوثيقة بينما عندما اقوم باستخدام نفس الدالة للupdateOne يتم طباعة كائن غريب

تم التعديل في بواسطة شرف الدين2
تنسيق الشفرة البرمجية
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هذا لأن عند استخدام الخطاف(hook ) الخاص بالدالة updateOne تكون this تشير إلى الإستعلامة وليس إلى الوثيقة, للحصول على الوثيقة يمكنك الإستعلام عنها بواسطة كائن الإستعلام الذي يتم تمريره كما في الشفرة التالية

userSchema.pre('updateOne',async function(){
    const docToBeUpdated = await this.model.findOne(this.getQuery());
}

حيث أن التابع model يُمثل الmodel الذي نحصل عليه بإستخدام mongoose.model ولكن بما أننا لا يمكننا إستخدام الmongoose.model قبل إنشاء الخطاف فبالتالي نقوم بالحصول عليه عبر الشفرة السابقة

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...