gpt4 book ai didi

node.js - 无法更新 mongodb 中的单个数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:47 25 4
gpt4 key购买 nike

我尝试使用 id 作为参数来更新单个数据,但是当我将数据作为 JSON 对象发送时,当我通过控制台记录传递的 JSON 对象时,它会返回 null。

这就是我更新数据的方法。

// Update By Id
router.put('/:id', (req, res) => {
if (!ObjectId.isValid(req.params.id)) {
return res.status(400).send(`No records with given id : ${req.params.id}`);
}
var emp = {
name : req.body.name,
position : req.body.position,
office : req.body.office,
salary : req.body.salary
};

Employee.findByIdAndUpdate({_id:req.params.id}, {$set : emp}, {new : true}, (err, doc) => {
if(!err) { res.send(doc); }
else { console.log('Error in Employee Update : ' + JSON.stringify(err, undefined, 2)); }
});
});

我传递到请求正文的数据。

{
"name": "Some Name",
"position": "A Position",
"office": "Location Name",
"salary": 60000
}

当我尝试控制台记录我传递的数据时,它返回未定义,并且所有数据均更新为 null。

console.log(emp.name);

最佳答案

我不知道如何,但不知何故,上面的代码经过一点修改并再次重新启动服务器就可以正常工作。

这是我修改的内容

Employee.findByIdAndUpdate({_id:req.params.id}, {$set : emp}, {new : true}, (err, doc)

Employee.findByIdAndUpdate( req.params.id , {$set : emp}, {new : true}, (err, doc) 

感谢Fanpark

关于node.js - 无法更新 mongodb 中的单个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56209204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com