Използвайте Group
на _id
с $push
оператор за връщане на всички играчи в масив.
Team.aggregate()
.match({'_id' : new ObjectId(teamId)})
.unwind('players')
.unwind('players.trikots')
.match({'players.trikots.color' : 'red', 'players.trikots.isNew' : true})
.group({'_id':'$_id','players': {'$push': '$players'}})
.exec(sendBack);
Ако искате някое друго поле да бъде включено в окончателния документ, добавете го към _id
поле по време на групова работа.
.group({'_id':{'_id':'$_id','some_other_field':'$some_other_field'},'players': {'$push': '$players'}})