Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để xóa tài liệu MongoDB bằng Java?


Bạn có thể xóa tài liệu khỏi bộ sưu tập hiện có trong MongoDB bằng cách sử dụng remove () phương pháp.

Cú pháp

db.coll.remove(DELLETION_CRITTERIA)

Ở đâu,

  • db là cơ sở dữ liệu.

  • coll là tập hợp (tên) mà bạn muốn chèn tài liệu vào

Ví dụ

Giả sử chúng ta có một tập hợp các sinh viên có tên trong cơ sở dữ liệu MongoDB với các tài liệu sau -

{name:"Ram", age:26, city:"Mumbai"}
{name:"Roja", age:28, city:"Hyderabad"}
{name:"Ramani", age:35, city:"Delhi"}

Truy vấn sau đây xóa tài liệu có tên giá trị là 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" }

Sử dụng chương trình Java

Trong Java, bạn xóa tài liệu khỏi bộ sưu tập bằng cách sử dụng trong bộ sưu tập hiện tại bằng cách sử dụng deleteOne () phương thức của com.mongodb.client.MongoCollection giao diện.

Do đó, để tạo một bộ sưu tập trong MongoDB bằng chương trình Java -

  • Đảm bảo rằng bạn đã cài đặt MongoDB trong hệ thống của mình

  • Thêm phần phụ thuộc sau vào tệp pom.xml của nó trong dự án Java của bạn.

<dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongo-java-driver</artifactId>
   <version>3.12.2</version>
</dependency>
  • Tạo ứng dụng khách MongoDB bằng cách khởi tạo lớp MongoClient.

  • Kết nối với cơ sở dữ liệu bằng getDatabase () phương pháp.

  • Nhận đối tượng của bộ sưu tập mà bạn muốn xóa tài liệu từ đó bằng cách sử dụng getCollection () phương pháp.

  • Xóa tài liệu được yêu cầu gọi deleteOne () phương pháp.

Ví dụ

Giả sử chúng ta có một tập hợp các sinh viên có tên trong cơ sở dữ liệu MongoDB với các tài liệu sau -

{name:"Ram", age:26, city:"Mumbai"}
{name:"Roja", age:28, city:"Hyderabad"}
{name:"Ramani", age:35, city:"Delhi"}

Chương trình Java sau sẽ xóa một tài liệu khỏi bộ sưu tập này và hiển thị phần còn lại -

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[] ) {
      //Creating a MongoDB client
      MongoClient mongo = new MongoClient( "localhost" , 27017 );
      //Connecting to the database
      MongoDatabase database = mongo.getDatabase("myDatabase");
      //Creating a collection
      MongoCollection<Document> collection = database.getCollection("students");
      //Deleting a document
      collection.deleteOne(Filters.eq("name", "Ram"));
      System.out.println("Document deleted successfully...");
      //Retrieving the documents after the delete operation
      FindIterable<Document> iterDoc = collection.find();
      int i = 1;
      System.out.println("Remaining documents:");
      Iterator it = iterDoc.iterator();
      while (it.hasNext()) {
         System.out.println(it.next());
         i++;
      }
   }
}

Đầu ra

Document deleted successfully...
Remaining documents:
Document{{_id=5e871141a89ad86b7b8ad229, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e871141a89ad86b7b8ad22a, name=Rhim, age=30, city=Delhi}}