Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

วิธีลบ Object ออกจาก Array ใน MongoDB

ลบ 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 แล้ว