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

MongoDB-এ নেস্টেড ফিল্ডে ইন্ডেক্স (Index) তৈরি করে মান খুঁজে বের করা


MongoDB-এ এম্বেডেড ডকুমেন্টের ফিল্ডে ইন্ডেক্স তৈরি এবং কোয়েরি পারফরম্যান্স

MongoDB-এ নেস্টেড (Embedded) ডকুমেন্টের ফিল্ডে ইন্ডেক্স তৈরি করতে ডট (.) নোটেশন ব্যবহার করা হয়। এটি কোয়েরি পারফরম্যান্স নाटকিয়ভাবে বেড়ায়।

১. কালেকশন, ডেটা এবং ইন্ডেক্স তৈরি

> db.demo323.insertOne({"details":{"Name":"Chris","Age":34}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e51157af8647eb59e56206e") }
> db.demo323.insertOne({"details":{"Name":"David","Age":31}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e511581f8647eb59e56206f") }
> db.demo323.insertOne({"details":{"Name":"Bob","Age":28}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e511589f8647eb59e562070") }
> db.demo323.ensureIndex({"details.Name": 1});
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 2, "numIndexesAfter" : 3, "ok" : 1 }

ব্যাখ্যা: details.Name ডট নোটেশন দিয়ে নেস্টেড ফিল্ডে ইন্ডেক্স তৈরি করা হয়েছে।

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

> db.demo323.find();

আউটপুট:

{ "_id" : ObjectId("5e51157af8647eb59e56206e"), "details" : { "Name" : "Chris", "Age" : 34 } }
{ "_id" : ObjectId("5e511581f8647eb59e56206f"), "details" : { "Name" : "David", "Age" : 31 } }
{ "_id" : ObjectId("5e511589f8647eb59e562070"), "details" : { "Name" : "Bob", "Age" : 28 } }

৩. ইন্ডেক্সড ফিল্ড দিয়ে কোয়েরি (Name: "Bob")

> db.demo323.find({"details.Name": "Bob"});

৪. ফলাফল

{ "_id" : ObjectId("5e511589f8647eb59e562070"), "details" : { "Name" : "Bob", "Age" : 28 } }

পারফরম্যান্স: ইন্ডেক্স থাকায় MongoDB IXSCAN ব্যবহার করে সরাসরি ডকুমেন্ট খুঁজে পায়, পুরো কালেকশন স্ক্যান (COLLSCAN) করতে হয় না। বড় ডেটাসেটে এটি অত্যন্ত গুরুত্বপূর্ণ।


  1. MongoDB-এ অ্যারে আইটেম গণনা করার পদ্ধতি

  2. MongoDB-এ অ্যারে অবজেক্টের নির্দিষ্ট ইনডেক্স আপডেট করা

  3. MongoDB-এ JSON অ্যারের ভেতরের এলিমেন্ট এক্সেস করা (Dot Notation)

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা