Мангуст findOneAndUpdate обновление нескольких полей

метод findOneAndUpdate работает неправильно. Я пытаюсь обновить все поля сразу, но это только обновление (настройка) последнего поля. Это всегда только последнее поле. Может кто подскажет, что я делаю неправильно или что я могу сделать, чтобы получить ожидаемый эффект?

Это мой код findOneAndUpdate:

Book.findOneAndUpdate({_id:bookId},{$set:{"name": name},$set:{"genre": genre},$set:{"author": author},$set:{"similar": similar}}).exec(function(err, book){
       if(err){
           console.log(err);
           res.status(500).send(err);
       } else {
            res.status(200).send(book);
       }
});

1 ответов


вы используете $set оператор несколько раз. Правильный синтаксис для $set - это :

{ $set: { <field1>: <value1>, ... } }

вам нужно изменить свой обновление