node.js - 更新 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
})
});
}
解决方案
看起来您正在使用连接到 MongoDB 实例的 Mongoose?如果是这种情况,Schema.findByIdAndUpdate
请处理您尝试更新的记录的主键或 ObjectId。为了使这段代码工作,如果我的假设是正确的,请改为:
models.detailsSchema.findByIdAndUpdate(req.body._id, req.body.data, { new:true })
当然,_id
如果这是一个创建/更新路由,您将需要进行一些检查以确保已定义。
推荐阅读
- c# - 如何使用键在天空盒之间切换?
- reactjs - 向 React 中的布尔按钮添加“计数点击”功能
- mysql - MySQL:一个组的总和并加入结果?
- ios - 按钮在子视图控制器中不可点击
- python - 如何使用 plotly 为子情节场景中的每个情节指定颜色
- php - PHP For循环输出不正确的字符串位置数据
- tabulator - 制表符:加载数据后更新列定义
- flutter - 如何修复 Flutter DrawerHeader?
- angular - 如何在 NativeScript Angular 中禁用/启用没有 actionView 的 actionItem?
- java - 有没有办法在 firebase 上收集用户输入?