كيفية استبدال السلاسل في mongodb (مع مثال)
يمكنك استخدام بناء الجملة التالي لاستبدال سلسلة معينة في حقل في MongoDB:
db.myCollection.updateMany(
{ fieldName: { $regex : /old/ } },
[{
$set : { fieldName: {
$replaceOne : { input: " $fieldName ", find: " old ", replacement: " new " }
}}
}]
)
يستبدل هذا المثال تحديدًا السلسلة “old” بكلمة “new” في الحقل المسمى “fieldName” ضمن المجموعة المسماة myCollection .
يوضح المثال التالي كيفية استخدام هذه الصيغة عمليًا مع فريق التحصيلات مع المستندات التالية:
db.teams.insertOne({team: " Mavs ", conference: " Western ", points: 31})
db.teams.insertOne({team: " Spurs ", conference: " Western ", points: 22})
db.teams.insertOne({team: " Rockets ", conference: " Western ", points: 19})
db.teams.insertOne({team: " Celtics ", conference: " Eastern ", points: 26})
db.teams.insertOne({team: " Cavs ", conference: " Eastern ", points: 33})
db.teams.insertOne({team: " Nets ", conference: " Eastern ", points: 38})
مثال: استبدال سلسلة في MongoDB
يمكننا استخدام الكود التالي لاستبدال السلسلة “Western” بـ “West” في حقل المؤتمر :
db.teams.updateMany(
{ conference: { $regex : /Western/ } },
[{
$set : { conference: {
$replaceOne : { input: " $conference ", find: " Western ", replacement: " West " }
}}
}]
)
وهذا ما تبدو عليه المجموعة المحدثة الآن:
{ _id: ObjectId("620139494cb04b772fd7a8fa"),
team: ' Mavs ',
conference: ' West ',
points: 31 }
{ _id: ObjectId("620139494cb04b772fd7a8fb"),
team: ' Spurs ',
conference: ' West ',
points: 22 }
{ _id: ObjectId("620139494cb04b772fd7a8fc"),
team: ' Rockets ',
conference: ' West ',
points: 19 }
{ _id: ObjectId("620139494cb04b772fd7a8fd"),
team: ' Celtics ',
conference: ' Eastern ',
points: 26 }
{ _id: ObjectId("620139494cb04b772fd7a8fe"),
team: ' Cavs ',
conference: ' Eastern ',
points: 33 }
{ _id: ObjectId("620139494cb04b772fd7a8ff"),
team: ' Nets ',
conference: ' Eastern ',
points: 38 }
لاحظ أن كل مستند يحتوي على السلسلة “Western” في حقل المؤتمر يحتوي الآن على “West” في حقل المؤتمر .
أي مستند لا يحتوي على السلسلة “Western” في حقل المؤتمر يحتفظ ببساطة بسلسلته الأصلية.
ملاحظة : يمكنك العثور على الوثائق الكاملة للوظيفة $replaceOne هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية التحقق مما إذا كان الحقل يحتوي على سلسلة
MongoDB: كيفية إضافة حقل جديد
MongoDB: كيفية حذف حقل