تخطَّ إلى المحتوى

updateOne()

تحديث مستند واحد updateOne()

updateOne() تعدّل أوّل مستند مطابق للفلتر، باستخدام معاملات تحديث مثل $set و$inc.

تحدّث حقولًا محدّدة بدل استبدال المستند كاملًا، طالما استُخدمت معاملات التحديث (مثل $set). بلا معاملات، القيمة الثانية تستبدل المستند بالكامل — سلوك نادرًا ما يكون المقصود.

الصياغة

db.collection.updateOne(<filter>, <update>, { upsert })

📄 مثال

db.users.updateOne(
  { email: "baraa@example.com" },
  { $set: { active: true }, $inc: { loginCount: 1 } }
)

أهم المعاملات

المعاملالوظيفة
filterشرط اختيار المستند
updateمعاملات التحديث ($set، $inc، إلخ)
upsertإنشاء مستند جديد إن لم يوجد تطابق (اختياري)

💡 نصائح عملية

  • استخدم updateMany() بنفس الصياغة لتحديث كل المستندات المطابقة دفعة واحدة

⚠️ أخطاء شائعة

  • نسيان $set فتستبدل المستند بالكامل بالكائن الممرَّر، وتفقد بقية الحقول

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار MONGODB الكامل بالعربي.

📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs