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

السؤال

نشر

هل من الممكن تعديل قيم حقل في مستند ما بالاعتماد على حقل آخر ضمن نفس المستند؟ بشكل مشابه لما نقوم به في sql في دمج الاسم الأول واسم العائلة إلى حقل الاسم الكامل:

UPDATE user SET fullname = firstname + ' ' + lastname

أي في حال استطعت الحصول على قيم الحقول firstname و lastname في المستند:

updateOne( {}, { $set : { fullname : firstname + ' ' + lastname } );

ولكن لا أعلم ماهي الطريقة للحصول على قيم هذه الحقول ضمن نفس الاستعلام.

Recommended Posts

  • 0
نشر

يمكن إجراء ذلك باستخدام الدالة concat كما في التعليق السابق، وفي حال كنت ترغب بتعديل المجموعة كاملة أي تعديل كافة المستندات الموجودة ضمن المجموعة عن طريق دمج الاسم، يمكنك إضافة الخاصية multi إلى التابع update بهذا الشكل:

update(
  {},
  [{ $set: { fullname: { $concat: [ "$firstname", " ", "$lastname" ] } } }],
  { multi: true }
)

أما لإجراء الدمج على مستند محدد، يمكنك إضافة شرط للاستعلام من خلال الخصائص الموجودة (الاسم، الرقم المعرّف،...) وإزالة multi ليتم تطبيق التعديل على مستند واحد فقط.

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...