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

Cách bỏ qua (skip) Document khi truy xuất MongoDB bằng Java

Khi truy xuất document, dùng phương thức skip() để bỏ qua một số bản ghi đầu tiên.

Cú pháp (Shell)

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

Trong Java, gọi skip(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 SkipRecords {
    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");
        // Bỏ qua 2 document đầu tiên
        FindIterable<Document> iterDoc = collection.find().skip(2);
        Iterator it = iterDoc.iterator();
        while (it.hasNext()) System.out.println(it.next());
    }
}

Kết quả

Documents Inserted
Document{{_id=5e8886f97631225872d13217, name=Rhim, age=30, city=Delhi}}
Document{{_id=5e8886f97631225872d13218, name=Radha, age=28, city=Mumbai}}
Document{{_id=5e8886f97631225872d13219, name=Ramani, age=45, city=Pune}}