Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法使用Mongoose更新到MongoDB数据库_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 无法使用Mongoose更新到MongoDB数据库

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

我想更新到数据库中。似乎没有插入任何数据,尽管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.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”…..是的,我已经添加了答案,如果您觉得有用,请向上投票