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

MongoDB-এ ফিক্সড ভ্যালু ফিল্ড সহ কম্পাউন্ড ইনডেক্স তৈরি

createIndex() ব্যবহার করে কম্পাউন্ড ইউনিক ইনডেক্স

একাধিক ফিল্ড মিলিয়ে ইউনিক কম্পাউন্ড ইনডেক্স তৈরি করা যায়। এখানে StudentName এবং StudentAge মিলিয়ে ইউনিক ইনডেক্স তৈরি করা হয়েছে।

কম্পাউন্ড ইনডেক্স তৈরি

> db.compoundIndexDemo.createIndex({"StudentName":1,"StudentAge":1},{unique:true});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

ডকুমেন্ট ইনসার্ট

> db.compoundIndexDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e084c1d25ddae1f53b62207") }
> db.compoundIndexDemo.insertOne({"StudentName":"Chris","StudentAge":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5e084c5625ddae1f53b62209") }
> db.compoundIndexDemo.insertOne({"StudentName":"Chris","StudentAge":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e084c5b25ddae1f53b6220a") }
> db.compoundIndexDemo.insertOne({"StudentName":"Chris","StudentAge":23});
E11000 duplicate key error collection: web.compoundIndexDemo index: StudentName_1_StudentAge_1 dup key: { : "Chris", : 23.0 }

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

> db.compoundIndexDemo.find().pretty();

ফলাফল (ডুপ্লিকেট "Chris", 23 ইনসার্ট হয়নি):


ব্যাখ্যা: কম্পাউন্ড ইনডেক্সে {StudentName, StudentAge} জোড়া ইউনিক। একই নাম কিন্তু বয়স ভিন্ন হলে ইনসার্ট হয়, কিন্তু একই নাম এবং একই বয়স হলে ডুপ্লিকেট এরর দেয়।

  1. MongoDB-তে $slice রেঞ্জসহ সেট করা

  2. MongoDB-তে প্রতিটি কর্মীর বেতন ১০% বাড়ানো

  3. MongoDB save() মেথডে ভেরিয়েবল মান সেট করা

  4. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান অনুযায়ী ডকুমেন্ট ফিল্টার করা