ลบ Object ออกจาก Array ด้วย $pull Operator
ใช้ Operator $pull เพื่อลบ Object เฉพาะรายการออกจาก Array ใน MongoDB
สร้างข้อมูลตัวอย่าง
> db.removeObjectFromArrayDemo.insertOne({
"StudentName": "John",
"StudentAcademicProjectDetails": [
{ "StudentProjectId": 101, "StudentProjectName": "Pig Dice Game" },
{ "StudentProjectId": 110, "StudentProjectName": "Library Management System" },
{ "StudentProjectId": 120, "StudentProjectName": "Phonebook Management System" }
]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ad13d6cea1f28b7aa0817") }
แสดงข้อมูลก่อนลบ
> db.removeObjectFromArrayDemo.find().pretty();
{ "_id" : ObjectId("5c8ad13d6cea1f28b7aa0817"), "StudentName" : "John", "StudentAcademicProjectDetails" : [ { "StudentProjectId" : 101, "StudentProjectName" : "Pig Dice Game" }, { "StudentProjectId" : 110, "StudentProjectName" : "Library Management System" }, { "StudentProjectId" : 120, "StudentProjectName" : "Phonebook Management System" } ] }
ลบ Object ที่มี StudentProjectId = 101
> db.removeObjectFromArrayDemo.update(
{ '_id': ObjectId("5c8ad13d6cea1f28b7aa0817") },
{ $pull: { "StudentAcademicProjectDetails" : { StudentProjectId: 101 } } },
false, true
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ตรวจสอบผลลัพธ์หลังลบ
> db.removeObjectFromArrayDemo.find().pretty();
{ "_id" : ObjectId("5c8ad13d6cea1f28b7aa0817"), "StudentName" : "John", "StudentAcademicProjectDetails" : [ { "StudentProjectId" : 110, "StudentProjectName" : "Library Management System" }, { "StudentProjectId" : 120, "StudentProjectName" : "Phonebook Management System" } ] }
Object ที่มี StudentProjectId = 101 ถูกลบออกจาก Array แล้ว