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

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

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

$set اسم مستعار لـ $addFields: يضيف أو يستبدل حقولًا على كل مستند مع الإبقاء على كل شيء آخر. استخدمه في منتصف خط الأنابيب لإرفاق قيم محسوبة أو ثوابت أو نتائج تعبير. مقدَّم في MongoDB 3.4، وهو قابل للتبادل تمامًا مع $addFields؛ لاحظ أنه يتشارك الاسم مع عامل التحديث $set.

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

📝 الصيغة

{ $set: { <field>: <expression>, ... } }

⚙️ المعلمات

حقلأسماء الحقول مربوطة بتعبيرات تجميع أو قيم ثابتة.

القيمة المرجعة:تدفق مستندات مع تعيين الحقول

▶ مثال

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

// $set: إضافة حالة ثابتة وتحويل نوع amount
db.orders.aggregate([
  { $set: { status: 'PENDING', amount: { $toDouble: '$amount' } } }
])

المخرجات:

// الحقول الأصلية محفوظة؛ status ثابت وamount محوَّل إلى double

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qهل يجب استخدام $set أم $addFields؟
Aكلاهما يعمل؛ $addFields أكثر شيوعًا، بينما قد يُخلط $set مع عامل التحديث.
Qهل يمكن لـ $set تعيين حقول مضمّنة؟
Aنعم، عبر مسارات نقطية، مثل { $set: { 'addr.city': 'SH' } }.
Qهل يحذف $set الحقول؟
Aلا، يضيف أو يستبدل فقط؛ استخدم $unset لإزالة الحقول.
Web-Tutorial.com

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

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

100%