Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Cách lấy phần tử cụ thể từ mảng MongoDB

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.