Sử dụng toán tử $arrayElemAt trong Aggregation Framework để lấy phần tử tại chỉ mục xác định của mảng.
Ví dụ minh họa
Tạo collection getParticularElement:
> db.getParticularElement.insertOne({"TenGiangVien": "Larry", "MonHocKyThuat": ["Java", "C", "C++", "MongoDB", "MySQL", "SQL Server"]});
Mảng có 6 phần tử (chỉ mục 0-5). Lấy phần tử thứ 4 (chỉ mục 3):
Truy vấn aggregation
> db.getParticularElement.aggregate([
{$project: {
PhanTuTuMang: 1,
PhanTuThuTu: {$arrayElemAt: ["$MonHocKyThuat", 3]}
}}
]);
Kết quả:
{ "_id": ObjectId("..."), "PhanTuThuTu": "MongoDB" }
Giải thích: $arrayElemAt nhận mảng và chỉ mục (0-based). Chỉ mục 3 trả về "MongoDB". Chỉ mục âm (-1) lấy phần tử cuối cùng.