Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách giới hạn số lượng record khi truy xuất MongoDB bằng Java

Khi truy xuất document, dùng phương thức limit() để giới hạn số bản ghi trả về.

Cú pháp (Shell)

db.COLLECTION_NAME.find().limit(số_lượng)

Trong Java, gọi limit(int) trên kết quả của find().

Ví dụ Java

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;

public class LimitingRecords {
    public static void main(String args[]) {
        MongoClient mongo = new MongoClient("localhost", 27017);
        MongoDatabase database = mongo.getDatabase("myDatabase");
        MongoCollection<Document> collection = database.getCollection("students");
        // Chèn 5 document
        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");
        Document document4 = new Document("name", "Radha").append("age", 28).append("city", "Mumbai");
        Document document5 = new Document("name", "Ramani").append("age", 45).append("city", "Pune");
        List<Document> list = new ArrayList<Document>();
        list.add(document1); list.add(document2); list.add(document3);
        list.add(document4); list.add(document5);
        collection.insertMany(list);
        System.out.println("Documents Inserted");
        // Giới hạn 3 document đầu tiên
        FindIterable<Document> iterDoc = collection.find().limit(3);
        Iterator it = iterDoc.iterator();
        while (it.hasNext()) System.out.println(it.next());
    }
}

Kết quả

Documents Inserted
Document{{_id=5e887b16dac53c7f07cfd740, name=Ram, age=26, city=Hyderabad}}
Document{{_id=5e887b16dac53c7f07cfd741, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e887b16dac53c7f07cfd742, name=Rhim, age=30, city=Delhi}}