Update embedded mongoose document in array
Positional operator may help you:
db.books.update( // find book by `book_id` with `rating_id` specified { "_id": book_id, "ratings._id": rating_id }, // set new `value` for that rating { $set: { 'ratings.$.rating': value }} );
$ will save position of matched document.