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

ลบตาราง (Collection) จากฐานข้อมูล MongoDB

ใช้ drop() ลบ Collection ทั้งหมด

คำสั่ง db.collection.drop() จะลบ Collection รวมถึง Indexes และ Data ทั้งหมดอย่างถาวร

รูปแบบคำสั่ง

db.yourCollectionName.drop();

ตัวอย่าง: สร้าง Collection แล้วลบ

> db.deleteTableDemo.insertOne({"Name":"Chris","Age":23});
> db.deleteTableDemo.insertOne({"Name":"Carol","Age":21});
> db.deleteTableDemo.insertOne({"Name":"David","Age":24});

ตรวจสอบข้อมูลก่อนลบ

> db.deleteTableDemo.find().pretty();
{ "_id" : ObjectId("5ccfb705140b992277dae0e6"), "Name" : "Chris", "Age" : 23 }
{ "_id" : ObjectId("5ccfb70c140b992277dae0e7"), "Name" : "Carol", "Age" : 21 }
{ "_id" : ObjectId("5ccfb714140b992277dae0e8"), "Name" : "David", "Age" : 24 }

คำสั่งลบ Collection

> db.deleteTableDemo.drop();
true

ผลลัพธ์

true = ลบสำเร็จ, false = Collection ไม่มีอยู่

คำเตือนสำคัญ ⚠️

  • ไม่สามารถ Undo ได้ - ข้อมูลหายถาวร
  • ลบ Indexes ทั้งหมดของ Collection นั้นไปด้วย
  • ใน Production ควร Backup ก่อน (mongodump)
  • ต้องมีสิทธิ์ dropCollection หรือ dbAdmin

คำสั่งที่เกี่ยวข้อง

คำสั่งผลลัพธ์
db.collection.drop()ลบ Collection + Data + Indexes
db.collection.remove({})ลบ Data ทั้งหมด แต่ Collection + Indexes คงอยู่
db.collection.deleteMany({})ลบ Data ทั้งหมด (Modern Syntax)
db.dropDatabase()ลบ Database ทั้งหมด (ทุก Collections)

Best Practice

  • ใช้ deleteMany({}) ถ้าอาจจะใช้ Collection อีก (เก็บ Indexes ไว้)
  • ใช้ drop() ถ้าทิ้ง Collection เลย
  • Rename Collection แทน Drop: db.oldName.renameCollection("newName")