কম্পিউটার টিউটোরিয়াল

জাভা ব্যবহার করে MongoDB কালেকশনের ডকুমেন্টগুলো কীভাবে সর্ট করবেন?


MongoDB কালেকশন থেকে রেকর্ড রিট্রিভ করার সময় আপনি sort() মেথড ব্যবহার করে রেজাল্টের রেকর্ডগুলো সর্ট করতে পারেন।

সিনট্যাক্স

db.COLLECTION_NAME.find().sort({KEY:1})

জাভা MongoDB লাইব্রেরি একই নামের একটি মেথড প্রদান করে, রেকর্ডের সংখ্যা সীমিত করতে এই মেথডটি (find() মেথডের রেজাল্টের ওপর) আহ্বান করতে হবে সর্টের ধরন (ascending বা descending) এবং যে ফিল্ডের ভিত্তিতে রেকর্ডগুলো সর্ট করতে চান তার নাম পাস করে:

sort(Sorts.ascending("age"));

উদাহরণ

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

public class SortingRecords {
    public static void main(String args[]) {
        // একটি MongoDB ক্লায়েন্ট তৈরি
        MongoClient mongo = new MongoClient("localhost", 27017);
        
        // ডেটাবেসের সাথে সংযোগ
        MongoDatabase database = mongo.getDatabase("myDatabase");
        
        // একটি কালেকশন অবজেক্ট তৈরি
        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");
        
        // তৈরি করা ডকুমেন্টগুলো ইনসার্ট করা
        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("ডকুমেন্টগুলো ইনসার্ট করা হয়েছে");
        
        // একটি কালেকশন অবজেক্ট পুনরুদ্ধার
        collection = database.getCollection("students");
        
        // সর্ট সহ ডকুমেন্টগুলো রিট্রিভ করা
        FindIterable<Document> iterDoc = collection.find().sort(Sorts.ascending("age"));
        Iterator it = iterDoc.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

আউটপুট

ডকুমেন্টগুলো ইনসার্ট করা হয়েছে
Document{{_id=5e88843d5c851b345fce2a33, name=Ram, age=26, city=Hyderabad}}
Document{{_id=5e88843d5c851b345fce2a34, name=Robert, age=27, city=Vishakhapatnam}}
Document{{_id=5e88843d5c851b345fce2a36, name=Radha, age=28, city=Mumbai}}
Document{{_id=5e88843d5c851b345fce2a35, name=Rhim, age=30, city=Delhi}}
Document{{_id=5e88843d5c851b345fce2a37, name=Ramani, age=45, city=Pune}}

  1. জাভা ব্যবহার করে MongoDB কালেকশন থেকে ডেটা রিট্রিভ করার সময় রেকর্ডের সংখ্যা কীভাবে সীমিত করবেন?

  2. জাভা ব্যবহার করে সব MongoDB ডেটাবেসের তালিকা কীভাবে পাবেন?

  3. জাভা ব্যবহার করে MongoDB থেকে ডেটা রিট্রিভ করার সময় ডকুমেন্ট কীভাবে স্কিপ করবেন?

  4. জাভা ব্যবহার করে MongoDB ডেটাবেসের সব কালেকশন লিস্ট করা