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

MongoDB-এ $addToSet ব্যবহার করে একক ফিল্ডের ইউনিক মানগুলো বের করা

$addToSet অপারেটর ব্যবহার করে ডুপ্লিকেট বাদ দিয়ে ইউনিক মান সংগ্রহ

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

নমুনা সংগ্রহ তৈরি

> db.demo533.insertOne({"ProjectName":"Online Hospital Management"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4cfaef4dcbee04fbbbfc") }
> db.demo533.insertOne({"ProjectName":"Online Library Management"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4d02ef4dcbee04fbbbfd") }
> db.demo533.insertOne({"ProjectName":"Online Hospital Management"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4d04ef4dcbee04fbbbfe") }
> db.demo533.insertOne({"ProjectName":"Online Customer Tracker"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b4d0def4dcbee04fbbbff") }

সব ডকুমেন্ট দেখানো

> db.demo533.find();

আউটপুট:


$addToSet দিয়ে ProjectName-এর ইউনিক মান বের করা

> db.demo533.aggregate([
    {
        $group: {
            _id:null,
            SetOfProject: { $addToSet: "$ProjectName" }
        }
    }
])

ফলাফল (ডুপ্লিকেট "Online Hospital Management" একবার):


ব্যাখ্যা: _id: null দিয়ে সব ডকুমেন্ট একই গ্রুপে পড়েছে। $addToSet "$ProjectName" দিয়ে ProjectName ফিল্ডের সব ইউনিক মান SetOfProject অ্যারেতে সংগ্রহ করা হয়েছে। "Online Hospital Management" দুবার থাকা সত্ত্বেও একবারই আছে।

  1. MongoDB-এ নেস্টেড অ্যারেতে $addToSet ব্যবহার করে মান যোগ করা

  2. MongoDB-এ নির্দিষ্ট ফিল্ডের সব ডকুমেন্টের মান যোগ করা (aggregate $sum)

  3. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান অনুযায়ী ডকুমেন্ট ফিল্টার করা

  4. MongoDB-তে $slice ব্যবহার করে ফিল্ডের রিটার্নিং ভ্যালু লিমিট করা