【发布时间】:2021-08-31 12:08:50
【问题描述】:
在这种情况下,我试图从数据库中删除特定的“票证”。该页面显示所有门票及其座位名称和价格的表格,以及一个删除按钮(表格)。但是,删除功能(无论我选择哪个)只会删除列表中的第一张票。
这里是控制器功能:
Ticket.findOneAndDelete(req.params.id, function(err) {
console.log('deleting button works in Tickets router')
res.redirect('/tickets');
});
};
路由器:
router.post('/tickets/:id', ticketsCtrl.delete)
ejs sn-p:
<tr>
<td><%= t.seat %></td>
<td><%= t.price %></td>
<td>
<form id="delete-ticket-form" method="POST"
action="/tickets/<%= t._id %>">
<input type="submit" value="X">
</td>
</tr>
【问题讨论】:
-
Ticket.findOneAndDelete({_id: req.params.id}, function(err) {console.log('deleting button works in Tickets router');res.redirect('/tickets');});}; -
如果您从 url(查询参数)获取 id 的值,Form post 方法没有任何意义。
-
@MuhammadSaquibShaikh 使用 mongoose 和 express,我的理解是我不能简单地删除或更新,我需要使用 '?_method =' 才能使用这些 HTML 属性,中间件不需要让 Put 和 Delete 请求
标签: javascript mongodb express mongoose ejs