Điều này không thể thực hiện trực tiếp bằng cách sử dụng find
và elemMatch
vì giới hạn sau của elemMatch
và các trường mảng mongo array fields
.
và giới hạn trường mảng mongo như bên dưới
Vì vậy, bạn đã thử làm theo điều này để chỉ tìm ra exam
hoặc quiz
db.collectionName.find({"_id":22,"scores":{"$elemMatch":{"type":"exam"}}},{"scores.$.type":1}).pretty()
chỉ hiển thị exam
mảng điểm.
Nếu không, bạn nên thực hiện aggregation