Как переписать массив в MongoDB

#arrays #mongodb #mongodb-query

Вопрос:

   _id: 60bb738d5b55f53bcb8743cf,
  game: 'dota',
  region: 'EU',
  tournamentName: 'Blast Pro Serie',
  status: 'open',
  teams: [
    {
      teamId: 1,
      teamTag: 'Navi',
      group: 'groupA',
      wins: 0,
      loses: 0,
      score: 0
    },
    {
      teamId: 2,
      teamTag: 'Secret',
      group: 'groupA',
      wins: 0,
      loses: 0,
      score: 0
    },
    {
      teamId: 3,
      teamTag: 'VP',
      group: 'groupA',
      wins: 0,
      loses: 0,
      score: 0
    }
  ],
  id: 0
}
 

У меня есть объект с множеством команд.
Я хочу выполнить некоторые операции и переписать этот массив или без переписывания, используя $inc для обновления оценки для команд.
Но есть некоторые проблемы, не могу понять, как переписать массив с помощью mongodb.

Пример моего кода:

 const tournamentId = req.params.tournamentid;
  const loserId = req.body.loserId;                                          
  const winnerId = req.body.winnerId;
  dbTournaments.find().toArray()
  .then(results => {
    let tournament = results[tournamentId];
    let tournamentTeams = tournament.teams;
    let loser = tournamentTeams.filter(item => item.teamId === loserId);
    let winner = tournamentTeams.filter(item => item.teamId === winnerId);
    winner[0].wins  ;
    loser[0].loses  ;
    winner[0].score =3;
    return tournamentTeams
  })
  .then(result =>{
    dbTournaments.updateOne({"id":tournamentId},{$set: {'teams.$[]':result}})       
    res.status(200).json({ok:true,status:200,message:'Success'})
  })
  .catch(console.error);