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

حفظ القيم الغير معرّفة مسبقاً ضمن schema في mongoose

Tamim Fahed

السؤال

لدي قاعدة بيانات mongodb وأقوم باستخدام mogoose مع node.js، وقمت مسبقاً بوضع schema معيّنة لكل مجموعة ضمن هذه القاعدة.

ولكن بما تتيحه mogodb من حرية في تعديل بنية هذه المجموعات، أرى أن mongoose يفرض استخدام  schema وأي حقول يتم إضافتها وهي غير موجودة مسبقاً ضمن هذه الـ schema لا يتم حفظها ضمن قاعدة البيانات.

كيف يمكنني إضافة حقول جديدة ليس بالضرورة أن تكون موجودة ضمن الـ schema؟ أم هل يجب علي تجنّب استخدام mongoose في هذه الحالة؟

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

Recommended Posts

  • 1

السبب هو أن الخيار strict يكون true بشكل افتراضي ، وبذلك سيتم منع إضافة حقول لم تكن موجودة في schema

ولحل هذه المشكلة هي تغيير قيمة strict من true الى false كالآتي

var thingSchema = new Schema({..}, { strict: false });

أو يمكنك تعديل strict من خلال الإستعلام كالآتي

Model.findOneAndUpdate(
  query,  // فلتر
  update, // البيانات المراد تحديثها
  { //الخيارا
    returnNewDocument: true,
    new: true,
    strict: false
  }
)

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...