MongoDB-এ অ্যারে ফিল্ডের ইনডেক্সিং প্রক্রিয়া
MongoDB অ্যারে ফিল্ডের প্রতিটি ভ্যালুকে আলাদা আলাদা ইনডেক্স করে, যাতে আপনি অ্যারেতে থাকা যেকোনো একক এলিমেন্ট দিয়ে কোয়েরি করতে পারেন। এটিকে Multikey Index বলা হয়।
উদাহরণ
> db.indexingForArrayElementDemo.insertOne({"StudentFavouriteSubject":["MongoDB","MySQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8acdca6cea1f28b7aa0816") }
ইনডেক্স তৈরি:
> db.indexingForArrayElementDemo.ensureIndex({"StudentFavouriteSubject": 1});
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
অ্যারে এলিমেন্ট দিয়ে কোয়েরি
> db.indexingForArrayElementDemo.find({"StudentFavouriteSubject": "MongoDB"}).pretty();
{
"_id" : ObjectId("5c8acdca6cea1f28b7aa0816"),
"StudentFavouriteSubject" : [ "MongoDB", "MySQL" ]
}
> db.indexingForArrayElementDemo.find({"StudentFavouriteSubject": "MySQL"}).pretty();
{
"_id" : ObjectId("5c8acdca6cea1f28b7aa0816"),
"StudentFavouriteSubject" : [ "MongoDB", "MySQL" ]
}
মূল কথা: MongoDB স্বয়ংক্রিয়ভাবে অ্যারারের প্রতিটি ভ্যালুর জন্য আলাদা ইনডেক্স এন্ট্রি তৈরি করে, ফলে অ্যারেতে থাকা যেকোনো ভ্যালু দিয়ে দ্রুত সার্চ করা যায়।