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

Giải thích các phép chiếu Java MongoDB

Trong khi truy xuất dữ liệu từ bộ sưu tập MongoDb, bạn chỉ có thể chọn dữ liệu cần thiết bằng cách sử dụng các phép chiếu. Trong Java, bạn có thể chiếu dữ liệu cần thiết trong khi đọc tài liệu từ bộ sưu tập bằng cách sử dụng chiếu () phương pháp. Gọi phương thức này trên kết quả của find (), bỏ qua tên của các tên được khai báo bắt buộc là -

projection(Projections.include("name", "age"));

Ví dụ

Các ví dụ Java sau đây đọc tài liệu từ một bộ sưu tập, sử dụng phép chiếu, chúng tôi chỉ hiển thị các giá trị của trường tên và tuổi.

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Projections;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
public class ProjectionExample {
   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");
      Document document1 = new Document("name", "Ram").append("age", 26).append("city", "Hyderabad");
      Document document2 = new Document("name", "Robert").append("age", 27).append("city", "Vishakhapatnam");
      Document document3 = new Document("name", "Rhim").append("age", 30).append("city", "Delhi");
      //Inserting the created documents
      List<Document> list = new ArrayList<Document>();
      list.add(document1);
      list.add(document2);
      list.add(document3);
      collection.insertMany(list);
      System.out.println("Documents Inserted");
      collection = database.getCollection("students");
      //Retrieving the documents
      FindIterable<Document> iterDoc =
      collection.find().projection(Projections.include("name", "age"));
      Iterator it = iterDoc.iterator();
      while (it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

Đầu ra

Documents Inserted
Document{{_id=5e8966533f68506911c946dc, name=Ram, age=26}}
Document{{_id=5e8966533f68506911c946dd, name=Robert, age=27}}
Document{{_id=5e8966533f68506911c946de, name=Rhim, age=30}}