How to change the value of a field in an array mongodb nodejs

Viewed 60

There are many array levels, that's why I can't choose the right field, I guess.

This is the Schema of the model:

{
  season: 1,
  finished: 0,
  Games: [{
    Game: [{
      game: 1,
      Players: [{
        Id: 0,
        name: "Peter",
        jails: 3, //I want to change this value
        pays: 1000,
        gets: 2000,
        points: 3
      }]
    }]
  }]
}

I tried this query but it's not working:

Seasons.update({
    season: 1,
    game: 2,
    Id: 0
  }, {
    jails: 4
  },
  (err, data) => {
    if (err) {
      console.log(err)
    } else {
      console.log(data)
    }
  }
)

I have used the $set propery but it didn't work as I want. It make changes all jails field of all players to same value in the same season. I mean, the query is selecting the most parent record, so it is the season record. But I want to change value of child element.

0 Answers
Related