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

Làm cách nào để truy xuất tất cả các tài liệu từ bộ sưu tập MongoDB bằng Java?


Bạn có thể truy xuất tài liệu từ bộ sưu tập hiện có trong MongoDB bằng cách sử dụng find () phương pháp.

Cú pháp

db.coll.find()

Ở đâ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 truy xuất tất cả các tài liệu từ mẫu đã thu thập.

> use myDatabase()
switched to db myDatabase()
> db.createCollection(sample)
{ "ok" : 1 }
> > db.sample.find()
{ "_id" : ObjectId("5e870492af638d501865015f"), "name" : "Ram", "age" : 26, "city"
: "Mumbai" }
{ "_id" : ObjectId("5e870492af638d5018650160"), "name" : "Roja", "age" : 28,
"city" : "Hyderabad" }
{ "_id" : ObjectId("5e870492af638d5018650161"), "name" : "Ramani", "age" : 35,
"city" : "Delhi" }
>

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

Trong Java, bạn có thể truy xuất tất cả các tài liệu trong bộ sưu tập hiện tại bằng cách sử dụng find () phương thức của com.mongodb.client.MongoCollection giao diện. Phương thức này trả về một đối tượng có thể lặp lại chứa tất cả các tài liệu.

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.

  • Lấy đối tượng của bộ sưu tập mà bạn muốn truy xuất tài liệu, bằng cách sử dụng getCollection () phương pháp.

  • Truy xuất đối tượng có thể lặp lại chứa tất cả các tài liệu của bộ sưu tập hiện tại bằng cách gọi phương thức find ().

Ví dụ

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import java.util.Iterator;
import org.bson.Document;
import com.mongodb.MongoClient;
public class RetrievingAllDocuments {
   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 object
      MongoCollection<Document> collection = database.getCollection("students");
      //Retrieving the documents
      FindIterable<Document> iterDoc = collection.find();
      Iterator it = iterDoc.iterator();
      while (it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

Đầu ra

Document{{_id=5e86db7012e9ad337c3aaef5, name=Ram, age=26, city=Hyderabad}}
Document{{_id=5e86db7012e9ad337c3aaef6, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e86db7012e9ad337c3aaef7, name=Rahim, age=30, city=Delhi}}