Mongodb findOneAndUpdate不工作
我正在尝试更新mongodb集合中的文档,但它对我无效。这是一个函数,所有字段都将被发送到后端。我使用mlab在线mongo dbMongodb findOneAndUpdate不工作,mongodb,Mongodb,我正在尝试更新mongodb集合中的文档,但它对我无效。这是一个函数,所有字段都将被发送到后端。我使用mlab在线mongo db router.post( '/accept', (req,res) => { const leaveFields = {}; leaveFields._id = req.body.id; leaveFields.name = req.body.name; leaveFields.reason = req.body.rea
router.post(
'/accept',
(req,res) => {
const leaveFields = {};
leaveFields._id = req.body.id;
leaveFields.name = req.body.name;
leaveFields.reason = req.body.reason;
leaveFields.from = req.body.from;
leaveFields.to = req.body.to;
leaveFields.user_id = req.body.user_id;
leaveFields.leaveType = req.body.leaveType;
console.log(req.body.id);
Leave.find({user_id:req.body.user_id}) //{ "_id":ObjectId("req.body.id") }
.then(leave =>{
if(leave){
Leave.findOneAndUpdate(
{_id : req.body.id},
{$set : leaveFields},
{new : true}
)}else{
res.status(400).json(errors);
}
}
)
.catch(err=>res.status(404).json({ noleavefound: 'No leaves found' }));
在这里,您将_id设置为leavefields对象和
const leaveFields = {};
leaveFields._id = req.body.id;
在这里,您还将_id字段传递给您的更新
{$set : leaveFields}
_id字段是一个不可变的字段。因此,排除_id字段,然后进行检查