更新Node.js中的特定字段

时间:2019-10-15 21:03:49

标签: node.js database mongodb mongoose

我只想更新字段数据,但是每次我调用update api时,我的代码都会添加一个对象。我已经遍历许多站点,发现updateOne是该方法,但最终未能理解如何在此处实现。我对Node非常陌生,因此不胜感激。

const update=(req,res)=>{
    console.log(req);
  
    models.detailsSchema.findByIdAndUpdate(req.body.vehicleId,req.body.data,{new:true}).then((msg,err)=>{  

        if(err) 
         res.status(400).json({err})
       res.status(200).json({
           "resCode":"0000",
           "resStatus":"Success",
           "resMsg":msg
       })  
    });
}

enter image description here

1 个答案:

答案 0 :(得分:0)

看起来您正在使用连接到MongoDB实例的Mongoose吗?在这种情况下,Schema.findByIdAndUpdate对您要更新的记录的主键或ObjectId起作用。为了使此代码有效,如果我的假设正确,请更改为:

models.detailsSchema.findByIdAndUpdate(req.body._id, req.body.data, { new:true })

当然,如果这是一条创建/更新路线,那么您将需要进行一些检查以确保定义了_id