$rename (إعادة تسمية الحقل)

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

$rename (إعادة تسمية الحقل)

يعيد $rename تسمية حقل. `{ $rename: { 'oldName': 'newName' } }`، مع مسارات نقطية للحقول المتداخلة. إذا كان الاسم الجديد موجودًا بالفعل، تستبدله القيمة القديمة؛ وإلا يُنشأ الحقل. لا يعيد $rename تسمية الحقول داخل عناصر المصفوفات، ونقل حقل متداخل لا ينشئ مستندات وسيطة.

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

📝 الصيغة

{ $rename: { <old field name>: <new field name> } }

⚙️ المعلمات

اسم الحقل القديماسم الحقل المصدر.
اسم الحقل الجديداسم الحقل الهدف؛ المسارات المنقوطة مسموحة.

القيمة المرجعة:نتيجة التحديث

▶ مثال

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

// $rename: إعادة تسمية username إلى handle
// يُتجاهل إذا كان الحقل مفقودًا
db.users.updateOne(
  { _id: 1 },
  { $rename: { username: 'handle' } }
)

// إعادة تسمية حقل متداخل
db.users.updateOne(
  { _id: 1 },
  { $rename: { 'profile.city': 'profile.cityName' } }
)

المخرجات:

// يصبح username هو handle؛ وprofile.city يصبح profile.cityName

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يمكن لـ $rename إعادة تسمية الحقول المتداخلة؟
Aنعم، عبر مسارات نقطية مثل 'profile.city'.
Qماذا يحدث إذا كان اسم الحقل الجديد موجودًا بالفعل؟
Aتستبدل القيمة القديمة الحقل الجديد الموجود.
Qهل يتعامل $rename مع الحقول داخل المصفوفات؟
Aلا، الحقول داخل عناصر المصفوفات تحتاج تحديثات لكل عنصر.
Web-Tutorial.com

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

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

100%