sql >> Databasteknik >  >> NoSQL >> MongoDB

Gruppuppsättning efter varva ner och matcha

Använd Group_id med $push operatör för att återföra alla spelare till en array.

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);

Om du vill att något annat fält ska inkluderas i det slutliga dokumentet lägg till det i _id fältet under gruppdrift.

.group({'_id':{'_id':'$_id','some_other_field':'$some_other_field'},'players': {'$push': '$players'}})



  1. Infoga json-filen i mongodb

  2. Prestandajämförelse för att använda Redis-hashar kontra många nycklar

  3. Slaget om NoSQL-databaserna - Jämför MongoDB och Oracle NoSQL

  4. Frågar med mangust och dadlar