Użyj Group
na _id
z $push
operatora, aby zwrócić wszystkich graczy do tablicy.
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);
Jeśli chcesz, aby jakiekolwiek inne pole zostało uwzględnione w ostatecznym dokumencie, dodaj je do _id
pole podczas pracy grupowej.
.group({'_id':{'_id':'$_id','some_other_field':'$some_other_field'},'players': {'$push': '$players'}})