2017-11-11 5 views
0

はここマングースからデータの削除は

router.get('/' , function(req , res , next) { 
ClassModel.find({}).exec(function(err , Classes) { 
if(err) throw err; 
res.render('classlist', { "Classes": Classes}); 
}); 
}); 

が今表示するデータを渡す(作業)

ルータファイルをデータをフェッチ私のファイルである今

<% Classes.forEach(function(Class , index){%> 
<tr> 
<td><%= index+1. %></td> 
<td><%= Class.Class_Name %></td> 
<td><%= Class.Class_ID %></td> 
<td><%= Class.Class_Key %></td> 
<td> 
<form action="/DeleteClass" method="post"><input type="submit" value="delete"</form> 
<td></tr> 
<%});%> 

(作業)これはdelete.jsファイルが動作しないことです

router.delete('/', function(req, res){ 
ClassModel.remove({_id: req.params.id}, function(err){ 
if(err) res.json(err); 
res.render('deleteClass'); 
}); 
}); 
+0

'req.params.id'を' req.body.id'に変更しようとしてください –

答えて

1

まず、あなたのフォームに削除し、行動ルートにクラスIDを追加するための要求方法を変更する必要があります。

<form action="/DeleteClass/<%= Class._id%>" method="delete"> 
    <input type="submit" value="delete"> // don't forget to close input tag 
</form> 

した後、あなたがreq.params.id値にアクセスできるよう/:idへのルートを変更します。

router.delete('/:id', function(req, res){ 
    ClassModel.remove({_id: req.params.id}, function(err){ 
    if(err) res.json(err); 
     res.render('deleteClass'); 
    }); 
}); 
+0

この<%= Class.Class_ID%>はその_id(オブジェクトID)ではなく、そのクラスのユーザ名 –

+1

は更新を参照してください。 –

+0

仲間にありがとうございました –

関連する問題