STACKJAVA

Code ví dụ Java MongoDB – Delete Document, Xóa document

Code ví dụ Java MongoDB – Delete Document, Xóa document

(Xem lại: Hướng dẫn MongoDB)

Cài đặt MongoDB JDBC Driver

Nếu bạn sử dụng maven thì thêm dependency sau:

<dependency>
  <groupId>org.mongodb</groupId>
  <artifactId>mongo-java-driver</artifactId>
  <version>3.8.0</version>
</dependency>

Hoặc download file jar: mongo-java-driver-3.8.0.jar

Code ví dụ

Trước tiên, mình sẽ insert trước 1 số document sau vào collection player của database stackjava và sẽ tiến hành search, select trên dữ liệu này.

use stackjava
db.player.insert([
  {'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25},
  {'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25},
  {'_id':'3', 'name':'mbappe', 'country':'france', 'age':18},
  {'_id':'4', 'name':'modric', 'country':'croatia', 'age':30},
  {'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33},
  {'_id':'6', 'name':'messi', 'country':'argentina', 'age':31},
  {'_id':'7', 'name':'icardi', 'country':'argentina', 'age':25},
  {'_id':'8', 'name':'griezmann', 'country':'france', 'age':28}
])

Code ví dụ

Ví dụ 1: Delete One Document

Xóa một bản ghi có name = “neymar”

public class DeleteOne {
  public static void main(String[] args) {
    MongoClient mongoClient = new MongoClient("localhost", 27017);
    MongoDatabase database = mongoClient.getDatabase("stackjava");

    MongoCollection<Document> collection = database.getCollection("player");

    collection.deleteOne(Filters.eq("name", "neymar"));
    System.out.println("Delete success!");
    
    FindIterable<Document> iterDoc = collection.find();

    Iterator<Document> it = iterDoc.iterator();

    System.out.println("--------------- All Player ------------------");
    while (it.hasNext()) {
      System.out.println(it.next());
    }

    mongoClient.close();
  }
}

Nếu trong trường hợp trên, có nhiều hơn một document có name = “neymar” thì cũng chỉ có duy nhất document đầu tiên tìm thấy bị xóa.

Kết quả:

Delete success!
--------------- All Player ------------------
Document{{_id=2, name=hazard, country=belgium, age=25.0}}
Document{{_id=3, name=mbappe, country=france, age=18.0}}
Document{{_id=4, name=modric, country=croatia, age=30.0}}
Document{{_id=5, name=ronaldo, country=portugal, age=33.0}}
Document{{_id=6, name=messi, country=argentina, age=20}}
Document{{_id=7, name=icardi, country=argentina, age=20}}
Document{{_id=8, name=griezmann, country=france, age=28.0}}

Ví dụ 2: Xóa nhiều document

Xóa tất cả document có country = “argentina”

public class DeleteMany {
  public static void main(String[] args) {
    MongoClient mongoClient = new MongoClient("localhost", 27017);
    MongoDatabase database = mongoClient.getDatabase("stackjava");

    MongoCollection<Document> collection = database.getCollection("player");

    collection.deleteMany(Filters.eq("country", "argentina"));
    System.out.println("Delete success!");
    
    FindIterable<Document> iterDoc = collection.find();

    Iterator<Document> it = iterDoc.iterator();

    System.out.println("--------------- All Player ------------------");
    while (it.hasNext()) {
      System.out.println(it.next());
    }

    mongoClient.close();
  }
}

Kết quả:

Delete success!
--------------- All Player ------------------
Document{{_id=2, name=hazard, country=belgium, age=25.0}}
Document{{_id=3, name=mbappe, country=france, age=18.0}}
Document{{_id=4, name=modric, country=croatia, age=30.0}}
Document{{_id=5, name=ronaldo, country=portugal, age=33.0}}
Document{{_id=8, name=griezmann, country=france, age=28.0}}

Xác nhận lại bằng cmd:

Okay, Done!

Download code ví dụ trên tại đây.

(Xem lại: Hướng dẫn MongoDB, Java + MongoDB)