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] } এর মতো এক্সপ্রেশন ব্যবহার করতে হয়।