簡體   English   中英

貓鼬findOneAndUpdate更新多個字段

[英]Mongoose findOneAndUpdate Updating Multiple Fields

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);
       }
});

您多次使用$set運算符。 $set的正確語法為:

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

您需要像這樣更改更新參數:

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);
   }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM