我只想更新字段数据,但是每次我调用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
})
});
}
答案 0 :(得分:0)
看起来您正在使用连接到MongoDB实例的Mongoose吗?在这种情况下,Schema.findByIdAndUpdate
对您要更新的记录的主键或ObjectId起作用。为了使此代码有效,如果我的假设正确,请更改为:
models.detailsSchema.findByIdAndUpdate(req.body._id, req.body.data, { new:true })
当然,如果这是一条创建/更新路线,那么您将需要进行一些检查以确保定义了_id
。