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

MongoDB-এ কাস্টম ফিল্ড দিয়ে ইনডেক্স, সর্ট এবং পেজিনেশন বাস্তবায়ন

কাম্পাউন্ড ইনডেক্স, সর্ট এবং পেজিনেশন (limit/skip) একসাথে

MongoDB-এ কাস্টম ফিল্ড দিয়ে কম্পাউন্ড ইনডেক্স তৈরি করে, সেটি ব্যবহার করে সর্ট এবং পেজিনেশন (limit, skip) বাস্তবায়ন করা যায়। এটি কোয়েরি পারফরম্যান্স বাড়ায়।

কাম্পাউন্ড ইনডেক্স তৈরি এবং ডকুমেন্ট ইনসার্ট

> db.demo373.createIndex({"Name":1,"CountryName":1});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
> db.demo373.insertOne({"Name":"Chris","Age":22,"CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e59ffde2ae06a1609a00aff") }
> db.demo373.insertOne({"Name":"David","Age":21,"CountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e59ffe82ae06a1609a00b00") }
> db.demo373.insertOne({"Name":"Bob","Age":23,"CountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e59fff42ae06a1609a00b01") }
> db.demo373.insertOne({"Name":"John","Age":21,"CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e59ffff2ae06a1609a00b02") }
> db.demo373.insertOne({"Name":"Carol","Age":23,"CountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5a00082ae06a1609a00b03") }

সব ডকুমেন্ট দেখানো

> db.demo373.find();

আউটপুট:


ইনডেক্স ব্যবহার করে সর্ট এবং পেজিনেশন (skip 2, limit 4)

> db.demo373.find().sort({"Name":1, "Age":1}).limit(4).skip(2);

ফলাফল (Name Ascending, Age Ascending, ২টা বাদ দিয়ে ৪টা):


ব্যাখ্যা: কম্পাউন্ড ইনডেক্স {Name:1, CountryName:1} সর্ট {Name:1, Age:1}-এ আংশিকভাবে হেল্প করে। পেজিনেশনে skip() এবং limit() ব্যবহার করা হয়। বড় ডেটায় skip() স্লো হতে পারে, সেক্ষেত্রে রেঞ্জ কোয়েরি ভালো।

  1. MongoDB 4-এ ডকুমেন্ট সর্ট করে শুধু একটি ফিল্ড দেখানো

  2. MongoDB-এ $project দিয়ে অ্যারে থেকে নির্দিষ্ট ফিল্ড দেখানো (অন্যান্য বাদ দিয়ে)

  3. MySQL-এ FIELD() ফাংশন ব্যবহার করে কাস্টম সর্ট করুন

  4. জাভা ব্যবহার করে MongoDB-এ ইনডেক্স কীভাবে তৈরি করবেন?