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

MongoDB-তে অ্যারে এলিমেন্টের সংখ্যা গুনে নতুন ফিল্ডে দেখানো ($size)

MongoDB-তে ডকুমেন্টের ভিতরের অ্যারে কতটি এলিমেন্ট ধারণ করছে তা গুনতে $size অপারেটর ব্যবহার করা হয়। এটি অ্যাগ্রিগেশন পাইপলাইনের $project স্টেজে ব্যবহার করা হয়।

উদাহরণ: বিষয়ের তালিকা সহ ডকুমেন্ট

> db.demo703.insertOne({"ListOfSubject": ["MySQL", "MongoDB"]});
> db.demo703.insertOne({"ListOfSubject": ["Java"]});
> db.demo703.insertOne({"ListOfSubject": ["C", "C++", "Python"]});

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

> db.demo703.find();

আউটপুট: তিনটি ডকুমেন্ট যথাক্রমে ২, ১, এবং ৩টি বিষয় সহ।

অ্যারে সাইজ গুনে নতুন ফিল্ড যোগ করা

> db.demo703.aggregate([
    { $project: { NumberOfItemsInEachArray: { $size: "$ListOfSubject" } } }
]).pretty();

আউটপুট:

{ "_id" : ..., "NumberOfItemsInEachArray" : 2 }
{ "_id" : ..., "NumberOfItemsInEachArray" : 1 }
{ "_id" : ..., "NumberOfItemsInEachArray" : 3 }

নোট: $size শুধু অ্যারে সাইজ রিটার্ন করে, এর মাধ্যমে ফিল্টার করা যায় না। ফিল্টারের জন্য $expr দিয়ে { $gt: [{ $size: "$array" }, 2] } এর মতো এক্সপ্রেশন ব্যবহার করতে হয়।

  1. MongoDB-তে এমবেডেড ডকুমেন্ট অ্যারে কোয়েরি করে নতুন এলিমেন্ট যোগ করা ($push + $nin)

  2. MongoDB-তে $elemMatch এবং $and দিয়ে অ্যারে ফিল্ডে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

  3. MongoDB-এ নতুন ফিল্ড যোগ করে প্রাইস বিভাজন এবং কনক্যাটেনেশন

  4. MySQL কোয়েরি নাম দিয়ে গ্রুপ বাই করে কাউন্ট নতুন কলামে দেখানো