Nie jest to możliwe bezpośrednio przy użyciu find
i elemMatch
z powodu ograniczenia elemMatch
i mongo array fields
.
i ograniczenia pól tablicy mongo jak poniżej
Więc albo próbowałeś postępować zgodnie z tym, aby dowiedzieć się tylko exam
lub quiz
db.collectionName.find({"_id":22,"scores":{"$elemMatch":{"type":"exam"}}},{"scores.$.type":1}).pretty()
pokazuje tylko exam
tablica wyników.
W przeciwnym razie powinieneś przejść przez aggregation