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

วิธีลบเอกสาร MongoDB โดยใช้ Java


ภาพรวม

คุณสามารถลบเอกสารจากคอลเลกชันที่มีอยู่ใน 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:

  1. ตรวจสอบว่าได้ติดตั้ง MongoDB ในระบบแล้ว
  2. เพิ่ม dependency ต่อไปนี้ในไฟล์ pom.xml ของโปรเจกต์ Java
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.12.2</version>
</dependency>
  1. สร้าง MongoDB client โดยการสร้างอินสแตนซ์ของคลาส MongoClient
  2. เชื่อมต่อกับฐานข้อมูลโดยใช้เมธอด getDatabase()
  3. รับออบเจ็กต์ของคอลเลกชันที่ต้องการลบเอกสาร โดยใช้เมธอด getCollection()
  4. ลบเอกสารที่ต้องการโดยเรียกใช้เมธอด 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}}