Node.js 无法使用Mongoose更新到MongoDB数据库
我想更新到数据库中。似乎没有插入任何数据,尽管console.log消息显示正确Node.js 无法使用Mongoose更新到MongoDB数据库,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我想更新到数据库中。似乎没有插入任何数据,尽管console.log消息显示正确 router.post('/find_teacher',function(req,res){ // update Data var updateData={ replacement: req.body.replacement, flag:1, }; var message='Data has been not updated'; Timetable_relief.updateO
router.post('/find_teacher',function(req,res){
// update Data
var updateData={
replacement: req.body.replacement,
flag:1,
};
var message='Data has been not updated';
Timetable_relief.updateOne({_id:req.params.id},updateData,{upsert: true},function(err,numrows){
if(!err){
console.log(updateData);
console.log('Replacement Are Created');
res.redirect('/timetable_relief');
}
});
});
如果您需要route的id,则需要定义如下所示的route
router.post('/find_teacher/:id',function(req,res){
// update Data
var updateData={
replacement: req.body.replacement,
flag:1,
};
var message='Data has been not updated';
Timetable_relief.updateOne({_id:req.params.id},updateData,{upsert: true},function(err,numrows){
if(!err){
console.log(updateData);
console.log('Replacement Are Created');
res.redirect('/timetable_relief');
}
});
});
这里您的req.params.id未定义,这就是为什么mongodb查询不起作用的原因您的代码似乎很好。您可以打印req.params.id并检查您是否收到此id吗?它是未定义的@AnkuYeah,这就是为什么我认为它不起作用的原因。我认为应该使用router.post(“/find_teacher/:id”…..是的,我已经添加了答案,如果您觉得有用,请向上投票