首页 > 解决方案 > 更新 Nodejs 中的特定字段

问题描述

我只想更新字段数据,但我的代码每次调用更新 api 时都会添加一个对象。我浏览了很多网站,发现 updateOne 是方法,但最终无法理解如何在这里实现。我很新节点,所以任何帮助将不胜感激。

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

在此处输入图像描述

标签: node.jsdatabasemongodbmongoose

解决方案


看起来您正在使用连接到 MongoDB 实例的 Mongoose?如果是这种情况,Schema.findByIdAndUpdate请处理您尝试更新的记录的主键或 ObjectId。为了使这段代码工作,如果我的假设是正确的,请改为:

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

当然,_id如果这是一个创建/更新路由,您将需要进行一些检查以确保已定义。


推荐阅读