MongoDB-এ একটি অ্যারেতে উপাদান বা আইটেমের সংখ্যা গণনা করার জন্য $size অপারেটর ব্যবহার করা হয়। এটি অ্যাগ্রিগেশন পাইপলাইনের মধ্যে $project স্টেজের সাথে ব্যবহার করা হয়।
সিনট্যাক্স
db.yourCollectionName.aggregate([
{ $project: { anyFieldName: { $size: "$yourArrayName" } } }
]).pretty();
উদাহরণস্বরূপ একটি কালেকশন তৈরি করা
প্রথমে getSizeOfArray নামে একটি কালেকশন তৈরি করি এবং কিছু নমুনা ডকুমেন্ট ইনসার্ট করি:
> db.getSizeOfArray.insertOne({ "StudentId": 1, "StudentName": "Larry", "StudentMarks": [87, 34, 56, 77, 89, 90] });
{ "acknowledged": true, "insertedId": ObjectId("5c6ebc536fd07954a4890680") }
> db.getSizeOfArray.insertOne({ "StudentId": 2, "StudentName": "Sam", "StudentMarks": [90, 76, 56] });
{ "acknowledged": true, "insertedId": ObjectId("5c6ebc6b6fd07954a4890681") }
> db.getSizeOfArray.insertOne({ "StudentId": 3, "StudentName": "Carol", "StudentMarks": [90, 76] });
{ "acknowledged": true, "insertedId": ObjectId("5c6ebc7a6fd07954a4890682") }
সমস্ত ডকুমেন্ট প্রদর্শন
> db.getSizeOfArray.find().pretty();
আউটপুট:
{
"_id": ObjectId("5c6ebc536fd07954a4890680"),
"StudentId": 1,
"StudentName": "Larry",
"StudentMarks": [ 87, 34, 56, 77, 89, 90 ]
}
{
"_id": ObjectId("5c6ebc6b6fd07954a4890681"),
"StudentId": 2,
"StudentName": "Sam",
"StudentMarks": [ 90, 76, 56 ]
}
{
"_id": ObjectId("5c6ebc7a6fd07954a4890682"),
"StudentId": 3,
"StudentName": "Carol",
"StudentMarks": [ 90, 76 ]
}
অ্যারে আকার গণনা করার কোয়েরি
> db.getSizeOfArray.aggregate([
{ $project: { NumberOfItemsInArray: { $size: "$StudentMarks" } } }
]).pretty();
ফলাফল
{ "_id": ObjectId("5c6ebc536fd07954a4890680"), "NumberOfItemsInArray": 6 }
{ "_id": ObjectId("5c6ebc6b6fd07954a4890681"), "NumberOfItemsInArray": 3 }
{ "_id": ObjectId("5c6ebc7a6fd07954a4890682"), "NumberOfItemsInArray": 2 }
ব্যাখ্যা: উপরের ফলাফলে প্রতিটি ডকুমেন্টের StudentMarks অ্যারেতে কতগুলো উপাদান আছে তা দেখানো হয়েছে। ল্যারির ৬টি, স্যামের ৩টি এবং ক্যারলের ২টি মার্ক্স রেকর্ড রয়েছে।