创建一个从 MongoDB 中删除项目的按钮(Mongoose Node.js express.js)
Create a button that DELETES an item from MongoDB (Mongoose Node.js express.js)
我有一个 CRUD 项目,用户可以在其中插入带有表单的数据,所有数据都存储在 mongoDB 中。一切似乎都正常,但我找不到关于如何创建从数据库中删除特定项目的按钮的解决方案。
//删除按钮的代码(点击它时在文章中)
<form action="/delete/:id" method="post">
<button type='submit' class="btn btn-lg">Delete</button>
</form>
//这是我目前的解决方案
app.post('/delete/:id', (req, res) => {
Post.deleteOne((err) => {
if (!err) {
res.redirect('/')
}
})
});
所以问题是当我单击“删除”时,它从数据库中删除了第一个项目。我需要它来删除我点击按钮所在的页面。
before Delete |||
after Delete
首先,检查提供的 ID 是否是实际的对象 ID,然后您必须将该 ID 传递到命令中:
app.post('/delete/:id', async (req, res) => {
await Post.deleteOne({_id: req.params.id})
return res.redirect('/')
});
我有一个 CRUD 项目,用户可以在其中插入带有表单的数据,所有数据都存储在 mongoDB 中。一切似乎都正常,但我找不到关于如何创建从数据库中删除特定项目的按钮的解决方案。
//删除按钮的代码(点击它时在文章中)
<form action="/delete/:id" method="post">
<button type='submit' class="btn btn-lg">Delete</button>
</form>
//这是我目前的解决方案
app.post('/delete/:id', (req, res) => {
Post.deleteOne((err) => {
if (!err) {
res.redirect('/')
}
})
});
所以问题是当我单击“删除”时,它从数据库中删除了第一个项目。我需要它来删除我点击按钮所在的页面。
before Delete ||| after Delete
首先,检查提供的 ID 是否是实际的对象 ID,然后您必须将该 ID 传递到命令中:
app.post('/delete/:id', async (req, res) => {
await Post.deleteOne({_id: req.params.id})
return res.redirect('/')
});