$replaceOne (استبدال أول تطابق)

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

$replaceOne (استبدال أول تطابق)

يستبدل $replaceOne أول ظهور لسلسلة فرعية في سلسلة نصية ببديل معين — مفيد لإصلاح الأخطاء المطبعية أو تبديل البادئات. يجب أن يكون find سلسلة غير فارغة وإلا رُمي خطأ؛ وعندما لا يظهر find تُعاد السلسلة المدخلة دون تغيير. وهو استبدال لفظي دون دعم تعبيرات نمطية — استخدم $regexReplace للأنماط. المدخل الفارغ أو المفقود يُرجع null.

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

📝 الصيغة

{ $replaceOne: { input: <string-expression>, find: <find>, replacement: <replacement> } }

⚙️ المعلمات

inputمطلوب؛ النص المراد معالجته.
findمطلوب؛ نص بحث غير فارغ.
replacementمطلوب؛ نص الاستبدال.

القيمة المرجعة:النص المستبدَل؛ null إذا كان الإدخال null.

▶ مثال

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

// $replaceOne: إصلاح خطأ مطبعي في نصوص المشاركات
db.posts.aggregate([
  { $project: { fixed: { $replaceOne: { input: '$body', find: 'teh', replacement: 'the' } } } }
])

المخرجات:

{ "_id": 1, "fixed": "the quick brown fox" }
{ "_id": 2, "fixed": "no typo here" }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qهل يمكنه استبدال كل التطابقات؟
Aلا — استخدم $replaceAll لكل الظهورات.
Qهل يمكن أن يكون find سلسلة فارغة؟
Aلا — يُسبب خطأً.
Qهل يدعم التعبيرات النمطية؟
Aلا — استخدم $regexReplace للاستبدال بالنمط.
Web-Tutorial.com

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

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

100%