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

MongoDB-এ দুটি অ্যারে একসাথে আনউইন্ড করা

দুই অ্যারে একসাথে আনউইন্ড করতে $unwind সাথে includeArrayIndex ব্যবহার করুন। $unwind অ্যারে ফিল্ডকে ডিকম্পোজ করে প্রতিটি এলিমেন্টের জন্য আলাদা ডকুমেন্ট তৈরি করে। একটি কালেকশন তৈরি করুন:

> db.demo515.insertOne({
    "details1": [ "4700100004" ],
    "details2": [ "Not Given" ],
    "Value1": [ "56", "45", "35" ],
    "Value2": [ "35", "45", "56" ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e889e51987b6e0e9d18f590") }

find() দিয়ে ডকুমেন্ট দেখান:

> db.demo515.find();

আউটপুট:

দুই অ্যারে (Value1 এবং Value2) একসাথে আনউইন্ড করে একই ইন্ডেক্সের এলিমেন্টগুলো পেয়ার করার কোয়ারি:

> db.demo515.aggregate([
    { $unwind: { path: "$Value1", includeArrayIndex : "index1" } },
    { $unwind: { path: "$Value2", includeArrayIndex : "index2" } },
    { $project: {
        _id : 1,
        details1: 1,
        details2: 1,
        Value1: 1,
        Value2: 1,
        valid: { $eq: ["$index1", "$index2"] }
    }},
    { $match: { valid: true } }
]);

আউটপুট:

ব্যাখ্যা: includeArrayIndex প্রতিটি আনউইন্ডেড এলিমেন্টের আসল ইন্ডেক্স সংরক্ষণ করে। دوবার $unwind করলে কারtezিয়ান প্রোডাক্ট হয় (৩x৩=৯ ডকুমেন্ট)। $project এবং $match দিয়ে শুধু একই ইন্ডেক্সের পেয়ারগুলো (valid: true) ফিল্টার করা হয়েছে।

  1. MongoDB-তে $setUnion ব্যবহার করে দুই অ্যারেতে ইউনিক ভ্যালু বের করা

  2. C++-এ দুটি অ্যারে থেকে সর্বোচ্চ ইউনিক যুগল তৈরি

  3. C#-এ দুটি অ্যারে কম্বাইন করা

  4. C#-এ দুটি অ্যারের ইন্টারসেকশন