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

MongoDB-এ একাধিক ডকুমেন্টের অ্যারে মার্জ করা

MongoDB-এ একাধিক ডকুমেন্টের অ্যারে ফিল্ডগুলো একসাথে মার্জ করে একটি অ্যারে তৈরি করতে অ্যাগ্রিগেশন পাইপলাইনে $group এবং $push ব্যবহার করা হয়।

নমুনা কালেকশন তৈরি

> db.demo64.insertOne({ "Subjects": ["MySQL", "MongoDB", "Java"] });
{ "acknowledged": true, "insertedId": ObjectId("5e28762bcfb11e5c34d89936") }

> db.demo64.insertOne({ "Subjects": ["Oracle", "Spring", "Python"] });
{ "acknowledged": true, "insertedId": ObjectId("5e28763fcfb11e5c34d89937") }

ডকুমেন্টগুলো দেখানো

> db.demo64.find();

আউটপুট:

{ "_id": ObjectId("5e28762bcfb11e5c34d89936"), "Subjects": [ "MySQL", "MongoDB", "Java" ] }
{ "_id": ObjectId("5e28763fcfb11e5c34d89937"), "Subjects": [ "Oracle", "Spring", "Python" ] }

অ্যারে মার্জ করার কোয়েরি

> db.demo64.aggregate([
  { 
    $group: { 
      _id: null, 
      Subjects: { $push: "$Subjects" } 
    } 
  },
  { $project: { _id: 0 } }
]);

ফলাফল

{ "Subjects": [ [ "MySQL", "MongoDB", "Java" ], [ "Oracle", "Spring", "Python" ] ] }

ব্যাখ্যা:

  • $group: { _id: null } - সব ডকুমেন্টকে এক গ্রুপে নিয়ে আসে।
  • $push: "$Subjects" - প্রতিটি ডকুমেন্টের Subjects অ্যারে একটি এলিমেন্ট হিসেবে পুশ করে। ফলে দ্বিমাত্রিক অ্যারে তৈরি হয়।
  • $project: { _id: 0 } - _id ফিল্ড বাদ দেয়।

ফ্ল্যাট (একমাত্রিক) অ্যারে পেতে

যদি আপনি সব সাবজেক্ট একই অ্যারেতে চান (নেস্টেড না), তবে $unwind ব্যবহার করুন:

db.demo64.aggregate([
  { $unwind: "$Subjects" },
  { $group: { _id: null, Subjects: { $push: "$Subjects" } } },
  { $project: { _id: 0 } }
]);

ফলাফল: { "Subjects": [ "MySQL", "MongoDB", "Java", "Oracle", "Spring", "Python" ] }

  1. একাধিক Word ডকুমেন্ট একত্রিত করার উপায়

  2. একাধিক ওয়ার্ড ডকুমেন্ট একে মিলিয়ে একটি করার পদ্ধতি

  3. মাইক্রোসফট ওয়ার্ডে দুটি ডকুমেন্ট মার্জ করার পদ্ধতি

  4. লিনাক্সে PDF ফাইল মার্জ করুন: ধাপে ধাপে টিউটোরিয়াল