Dùng toán tử $size trong aggregation để lấy kích thước mảng nội bộ. Cú pháp:
db.internalArraySizeDemo.aggregate( [ { $group: { _id: yourObjectIdValue, anyFieldName: {$first: {$size: "$yourArrayName" }} } } ] );
Tạo collection internalArraySizeDemo:
>db.internalArraySizeDemo.insertOne({"EmployeeName":"Mike","EmployeeTechnology":["Java Web Development","Python Web Development"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6eff586fd07954a48906b2") }
> db.internalArraySizeDemo.insertOne({"EmployeeName":"Sam","EmployeeTechnology":["C with Graphics","Game Development with C++ Language","MatLab"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6effcd6fd07954a48906b3") }
Hiển thị:
> db.internalArraySizeDemo.find().pretty();
Lấy size mảng EmployeeTechnology của _id cụ thể:
> db.internalArraySizeDemo.aggregate( [ { $group: { _id:ObjectId("5c6eff586fd07954a48906b2"), EmployeeTechnology_count: {$first: {$size: "$EmployeeTechnology" }} } } ] );
Kết quả: