$set (تعيين الحقل)

آخر تحديث: 2026-10-09

$set (تعيين الحقل)

يقوم $set بتعيين (أو استبدال) قيمة حقل واحد أو أكثر في مستند. ينشئ الحقل إذا لم يكن موجودًا ويدعم المسارات النقطية للحقول المتداخلة. وهو عامل التحديث الأكثر استخدامًا. فالعبارة `{ $set: { "price": 19.99, "inStock": true } }` تعيّن عدة حقول دفعة واحدة.

الفئةتحديث الحقل
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $set: { <field1>: <value1>, <field2>: <value2>, ... } }

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $set: تعيين عدة حقول
db.products.updateOne(
  { _id: 1 },
  { $set: { price: 19.99, inStock: true } }
)

المخرجات:

// يُرجع updatedCount: 1؛ يصبح سعر المستند 19.99 وinStock يساوي true

📌 ملاحظات

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qهل يمكن استخدام $set و $inc معًا؟
Aنعم. يعيّن $set قيمة ثابتة بينما يُجري $inc عملية حسابية؛ ويمكنهما الظهور معًا في تحديث واحد (باستثناء نفس الحقل).
Qكيف يختلف $set عن الإسناد المباشر في التحديث؟
Aيحدّث $set الحقول المذكورة فقط ويترك بقية المستند دون مساس. أما استبدال المستند بالكامل فيتطلب replaceOne، الذي يتجاهل أي حقول غير محددة.
Qهل يستبدل $set الحقول الموجودة؟
Aنعم. يستبدل $set الحقول الموجودة بالقيمة الجديدة وينشئ المفقود منها. وهو غير استبدالي: تكرار نفس $set يعطي النتيجة نفسها.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%