Mongodb: วิธีลบฟิลด์ออกจากแต่ละเอกสาร
คุณสามารถใช้วิธีการต่อไปนี้เพื่อลบฟิลด์ออกจากแต่ละเอกสารในคอลเลกชันใน MongoDB:
วิธีที่ 1: ลบฟิลด์
db.collection.updateMany({}, { $unset : {" field1 ":1}})
วิธีที่ 2: ลบหลายช่อง
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: ลบฟิลด์
เราสามารถใช้โค้ดต่อไปนี้เพื่อลบฟิลด์ “points” ออกจากแต่ละเอกสารในคอลเลกชันของเรา:
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: วิธีจัดกลุ่มตามหลายฟิลด์