Sử dụng Group
trên _id
với $push
toán tử để trả về tất cả người chơi vào một mảng.
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);
Nếu bạn muốn bất kỳ trường nào khác được đưa vào doucment cuối cùng, hãy thêm trường đó vào _id
trong quá trình hoạt động của nhóm.
.group({'_id':{'_id':'$_id','some_other_field':'$some_other_field'},'players': {'$push': '$players'}})