Používáte $set
operátor několikrát. Správná syntaxe pro $set
je :
{ $set: { <field1>: <value1>, ... } }
Musíte změnit aktualizaci argument takto:
Book.findOneAndUpdate({ "_id": bookId }, { "$set": { "name": name, "genre": genre, "author": author, "similar": similar}}).exec(function(err, book){
if(err) {
console.log(err);
res.status(500).send(err);
} else {
res.status(200).send(book);
}
});