DNAScanner
DNAScanner

Reputation: 74

Using updateOne with Arrays in Mongoose with NodeJS

Im working on an API for a custom game and i need to update specific fields in an array in my Database Entry. How do i do that without adding a new thing to the array, instead just updating for example the content of entry 5 in the array

Upvotes: 1

Views: 106

Answers (1)

Xanik
Xanik

Reputation: 375

Hello I'm not sure the name of your schema so I'm assuming its called Game so here is an example for how to update an index in an array assuming its the board array field you're trying to update. Also reference here for more details on updating an array field by it's index:

var fieldPosition = "board." + req.params.field

await Game.updateOne({
  _id: 1
}, [{
    $set: {
      tempBoard: fieldPosition
    }
  },
  {
    $set: {
      "$tempBoard": session.turn
    }
  },
  {
    $unset: ["tempBoard"]
  }
])

Upvotes: 1

Related Questions