sql >> Databáze >  >> NoSQL >> MongoDB

Skupinové pole po uvolnění a zápase

Použijte Group na _id pomocí $push operátor vrátit všechny hráče do pole.

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

Pokud chcete, aby bylo do závěrečného dokumentu zahrnuto jakékoli další pole, přidejte jej do _id pole během skupinového provozu.

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



  1. Jak vyvíjet aplikace pro MongoDB a Redpanda pomocí Docker Compose

  2. Rozsah dotazu pro stránkování MongoDB

  3. Mongodb - agregace $push, pokud je podmíněná

  4. Jaká je výhoda použití ObjectId namísto prostého řetězce?