ภาพรวม
คุณสามารถลบเอกสารจากคอลเลกชันที่มีอยู่ใน MongoDB ได้โดยใช้เมธอด remove()
ไวยากรณ์
db.coll.remove(DELETION_CRITERIA)
โดยที่:
db คือฐานข้อมูล
coll คือชื่อคอลเลกชันที่ต้องการลบเอกสาร
ตัวอย่างใน MongoDB Shell
สมมติว่าเรามีคอลเลกชันชื่อ students ในฐานข้อมูล MongoDB พร้อมเอกสารดังนี้:
{name:"Ram", age:26, city:"Mumbai"}
{name:"Roja", age:28, city:"Hyderabad"}
{name:"Ramani", age:35, city:"Delhi"}
คำสั่งต่อไปนี้จะลบเอกสารที่มีค่า name เป็น Ram:
> db.test.remove({'name': 'Ram'})
WriteResult({ "nRemoved" : 1 })
> db.test.find()
{ "_id" : ObjectId("5e8700"), "name" : "Roja", "age" : 28, "city" : "Hyderabad" }
{ "_id" : ObjectId("5e4161"), "name" : "Ramani", "age" : 35, "city" : "Delhi" }
{ "_id" : ObjectId("5e8161"), "name" : "Ramani", "age" : 35, "city" : "Delhi" }
การใช้งานด้วยโปรแกรม Java
ใน Java คุณสามารถลบเอกสารจากคอลเลกชันได้โดยใช้เมธอด deleteOne() ของอินเตอร์เฟซ com.mongodb.client.MongoCollection
ขั้นตอนในการลบเอกสาร MongoDB โดยใช้โปรแกรม Java:
- ตรวจสอบว่าได้ติดตั้ง MongoDB ในระบบแล้ว
- เพิ่ม dependency ต่อไปนี้ในไฟล์ pom.xml ของโปรเจกต์ Java
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.2</version>
</dependency>
- สร้าง MongoDB client โดยการสร้างอินสแตนซ์ของคลาส MongoClient
- เชื่อมต่อกับฐานข้อมูลโดยใช้เมธอด getDatabase()
- รับออบเจ็กต์ของคอลเลกชันที่ต้องการลบเอกสาร โดยใช้เมธอด getCollection()
- ลบเอกสารที่ต้องการโดยเรียกใช้เมธอด deleteOne()
ตัวอย่างโค้ด Java
สมมติว่าเรามีคอลเลกชันชื่อ students ในฐานข้อมูล MongoDB พร้อมเอกสารดังนี้:
{name:"Ram", age:26, city:"Mumbai"}
{name:"Roja", age:28, city:"Hyderabad"}
{name:"Ramani", age:35, city:"Delhi"}
โปรแกรม Java ต่อไปนี้จะลบเอกสารจากคอลเลกชันนี้และแสดงเอกสารที่เหลือ:
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import java.util.Iterator;
import org.bson.Document;
import com.mongodb.MongoClient;
public class DeletingDocuments {
public static void main(String args[]) {
// สร้าง MongoDB client
MongoClient mongo = new MongoClient("localhost", 27017);
// เชื่อมต่อกับฐานข้อมูล
MongoDatabase database = mongo.getDatabase("myDatabase");
// สร้างออบเจ็กต์คอลเลกชัน
MongoCollection collection = database.getCollection("students");
// ลบเอกสาร
collection.deleteOne(Filters.eq("name", "Ram"));
System.out.println("Document deleted successfully...");
// ดึงเอกสารหลังจากการลบ
FindIterable iterDoc = collection.find();
int i = 1;
System.out.println("Remaining documents:");
Iterator it = iterDoc.iterator();
while (it.hasNext()) {
System.out.println(it.next());
i++;
}
}
}
ผลลัพธ์
Document deleted successfully...
Remaining documents:
Document{{_id=5e871141a89ad86b7b8ad229, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e871141a89ad86b7b8ad22a, name=Rhim, age=30, city=Delhi}}