Mongodb: كيفية إزالة حقل من كل مستند
يمكنك استخدام الطرق التالية لإزالة الحقول من كل مستند في مجموعة في MongoDB:
الطريقة الأولى: حذف حقل
db.collection.updateMany({}, { $unset : {" field1 ":1}})
الطريقة الثانية: حذف حقول متعددة
db.collection.updateMany({}, { $unset : {" field1 ":1, " field2 ":1}})
توضح الأمثلة التالية كيفية استخدام كل طريقة مع فريق التحصيل مع المستندات التالية:
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
مثال 1: حذف حقل
يمكننا استخدام الكود التالي لإزالة حقل “النقاط” من كل مستند في مجموعتنا:
db.teams.updateMany({}, { $unset : {" points ":1}})
يمكننا بعد ذلك استخدام الاستعلام التالي لعرض كل مستند في مجموعتنا:
db.teams.find()
يقوم هذا الاستعلام بإرجاع النتائج التالية:
{ _id: ObjectId("61893b7196cd2ba58ce928f4"), team: 'Mavs', position: 'Guard' } { _id: ObjectId("61893b7196cd2ba58ce928f5"), team: 'Spurs', position: 'Guard' } { _id: ObjectId("61893b7196cd2ba58ce928f6"), team: 'Rockets', position: 'Center' }
لاحظ أنه تمت إزالة حقل “النقاط” من كل مستند.
المثال 2: حذف حقول متعددة
يمكننا استخدام الكود التالي لإزالة حقلي “النقاط” و”الموضع” من كل مستند في مجموعتنا:
db.teams.updateMany({}, { $unset : {" points ":1, " position ":1}})
يمكننا بعد ذلك استخدام الاستعلام التالي لعرض كل مستند في مجموعتنا:
db.teams.find()
يقوم هذا الاستعلام بإرجاع النتائج التالية:
{ _id: ObjectId("61893bf896cd2ba58ce928f7"), team: 'Mavs' } { _id: ObjectId("61893bf896cd2ba58ce928f8"), team: 'Spurs' } { _id: ObjectId("61893bf896cd2ba58ce928f9"), team: 'Rockets' }
لاحظ أنه تمت إزالة حقلي “النقاط” و”الموضع” من كل مستند.
ملاحظة : يمكنك العثور على الوثائق الكاملة لـ $unset هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية إضافة حقل جديد إلى المجموعة
MongoDB: كيفية التجميع والعد
MongoDB: كيفية التجميع حسب حقول متعددة