Verwenden Sie Group
auf _id
mit $push
Operator, um alle Player in ein Array zurückzugeben.
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);
Wenn Sie möchten, dass ein anderes Feld in das endgültige Dokument aufgenommen wird, fügen Sie es zu _id
hinzu Feld während des Gruppenbetriebs.
.group({'_id':{'_id':'$_id','some_other_field':'$some_other_field'},'players': {'$push': '$players'}})