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

MongoDB-এ ইউনিক ইন্ডেক্সকে স্পার্স ইউনিক ইন্ডেক্সে পরিবর্তন করা

MongoDB-এ স্পার্স ইউনিক ইন্ডেক্স তৈরি করা

MongoDB-এ একটি ইউনিক ইন্ডেক্সকে স্পার্স ইউনিক ইন্ডেক্সে রূপান্তর করার জন্য sparse: true অপশন ব্যবহার করতে হয়। স্পার্স ইন্ডেক্স শুধুমাত্র उन्हीं ডকুমেন্টগুলিকে ইন্ডেক্স করে যেখানে নির্দিষ্ট ফিল্ডটি বিদ্যমান থাকে, যাতে null মানवाले ডকুমেন্টগুলো ইন্ডেক্সে যোগ না হয়।

সাধারণ ইউনিক ইন্ডেক্স তৈরি

> db.demo229.ensureIndex({"ClientName":1}, {unique: true});
{
    "createdCollectionAutomatically" : true,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

ইন্ডেক্সগুলো দেখানো

> db.demo229.getIndexes();

আউটপুট:

[
    {
        "v" : 2,
        "key" : { "_id" : 1 },
        "name" : "_id_",
        "ns" : "test.demo229"
    },
    {
        "v" : 2,
        "unique" : true,
        "key" : { "ClientName" : 1 },
        "name" : "ClientName_1",
        "ns" : "test.demo229"
    }
]

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

> db.demo229.dropIndex("ClientName_1");
{ "nIndexesWas" : 2, "ok" : 1 }
> db.demo229.ensureIndex({"ClientName":1}, {unique: true, sparse:true});
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

পরিবর্তিত ইন্ডেক্স যাচাই

> db.demo229.getIndexes();

আউটপুট (লক্ষ্য করুন "sparse" : true):

[
    {
        "v" : 2,
        "key" : { "_id" : 1 },
        "name" : "_id_",
        "ns" : "test.demo229"
    },
    {
        "v" : 2,
        "unique" : true,
        "key" : { "ClientName" : 1 },
        "name" : "ClientName_1",
        "ns" : "test.demo229",
        "sparse" : true
    }
]

মূল পার্থক্য

  • সাধারণ ইউনিক ইন্ডেক্স: সব ডকুমেন্টে ফিল্ড থাকা বাধ্যতামূলক, null মানও ইউনিক কনস্ট্রেইন্টের অধীনে পড়ে
  • স্পার্স ইউনিক ইন্ডেক্স: শুধু ফিল্ড থাকা ডকুমেন্টগুলোই ইন্ডেক্স হয়, null মানवाले ডকুমেন্টগুলো ইগনোর করা হয়

নোট: MongoDB 3.0+ সংস্করণে ensureIndex() ডিপ্রিকেটেড, বদলে createIndex() ব্যবহার করুন।

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

  2. MongoDB-তে ডেট ফরম্যাট পরিবর্তন

  3. MongoDB-এ ইউনিক স্পার্স ইন্ডেক্স তৈরি করা

  4. MongoDB-তে createIndex() দিয়ে নেস্টেড ফিল্ডে ইন্ডেক্স তৈরি করা