$indexOfArray এবং $map ব্যবহার করে মানগুলোর ইন্ডেক্স বের করা
MongoDB Aggregation-এ একটি রেফারেন্স অ্যারের মানগুলো অন্য একটি অ্যারেতে খুঁজে তাদের ইন্ডেক্স পজিশন বের করতে $map এবং $indexOfArray ব্যবহার করা হয়।
নমুনা সংগ্রহ তৈরি
> db.demo381.insertOne({"Values":[10,40,60,30,60]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5b59f72ae06a1609a00b15") }
> db.demo381.insertOne({"Values":[100,500,700,500,800]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5b59f72ae06a1609a00b16") }
> db.demo381.insertOne({"Values":[20,40,30,10,60]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5b59f72ae06a1609a00b17") }
সব ডকুমেন্ট দেখানো
> db.demo381.find();
আউটপুট:
রেফারেন্স অ্যারে [10,40]-এর মানগুলো Values-এ খুঁজে ইন্ডেক্স বের করা
> db.demo381.aggregate([ {"$project":{ "Result":{ "$map":{ "input":[10,40], "in":{"$indexOfArray":["$Values","$$this"]} } } }} ])ফলাফল:
ব্যাখ্যা: প্রথম ডকুমেন্টে 10 ইনডেক্স ০, 40 ইনডেক্স ১। দ্বিতীয় ডকুমেন্টে 10,40 নেই (-1)। তৃতীয় ডকুমেন্টে 10 ইনডেক্স ৩, 40 ইনডেক্স ১। $indexOfArray প্রথম occurrence-এর ইন্ডেক্স ফেরত দেয়।