MongoDB অগ্রিগেশনে $setUnion অপারেটর ব্যবহার করে দুটি অ্যারে ফিল্ডকে মার্জ করে ইউনিক মানের একটি অ্যারে তৈরি করা যায়।
নমুনা ডেটা তৈরি করা
mergeTwoArrayFieldDemo কালেকশনে একটি ডকুমেন্ট ইনসার্ট করি যাতে NaturalNumbers এবং WholeNumbers নামে দুটি অ্যারে থাকে।
> db.mergeTwoArrayFieldDemo.insertOne({"NaturalNumbers":[1,2,3,8,10,20,30],"WholeNumbers":[0,1,2,63,78,20,45]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68e4057806ebf1256f11d") }
ডকুমেন্ট দেখানো
> db.mergeTwoArrayFieldDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5cd68e4057806ebf1256f11d"),
"NaturalNumbers" : [ 1, 2, 3, 8, 10, 20, 30 ],
"WholeNumbers" : [ 0, 1, 2, 63, 78, 20, 45 ]
}
$setUnion দিয়ে অ্যারে মার্জ করা
$project স্টেজে $setUnion ব্যবহার করে MergedArray তৈরি করি:
> db.mergeTwoArrayFieldDemo.aggregate([
{
"$project": {
"MergedArray": { "$setUnion": [ "$NaturalNumbers", "$WholeNumbers" ] }
}
}
]);
আউটপুট:
{ "_id" : ObjectId("5cd68e4057806ebf1256f11d"), "MergedArray" : [ 0, 1, 2, 3, 8, 10, 20, 30, 45, 63, 78 ] }
ব্যাখ্যা: $setUnion ডুপ্লিকেট মান বাদ দিয়ে (যেমন ১, ২, ২০) সর্ট করা ইউনিক মান রিটার্ন করে। এটি সেট থিওরির যুনিয়ন অপারেশন।