How to skip documents while retrieving data from MongoDB, using java?



While retrieving records from a MongoDB collection, you can skip records in the result using the skip() method.

Syntax

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

The Java MongoDB library provides a method with the same name, to skip records, invoke this method (on the result of the find() method) bypassing an integer value representing the number of records to skip.

Example

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[] ) {       //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");       Document document4 = new Document("name", "Radha").append("age", 28).append("city", "Mumbai");       Document document5 = new Document("name", "Ramani").append("age", 45).append("city", "Pune");       //Inserting the created documents       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");       //Retrieving a collection object       collection = database.getCollection("students");       //Retrieving the documents with a limit       FindIterable<Document> iterDoc = collection.find().skip(2);       Iterator it = iterDoc.iterator();       while (it.hasNext()) {          System.out.println(it.next());       }    } }

Output

Documents Inserted 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}}
Updated on: 2020-04-10T07:14:51+05:30

298 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements