从 Express、Node.js 应用中删除 MongoDB 个文档
Delete MongoDB document from Express, Node.js app
我的index.jade文件(用户点击删除文件的我的按钮)是:
a(href="/delete/#{booking.id}") Delete
到目前为止,在我的 index.js 文件中是:
router.get('/delete/:id', function (req, res) {
Booking.findOneAndDelete({ id: req.params.id }).remove().exec();
});
我也试过:
router.get('/delete/:id', function (req, res) {
Booking.findById(id, function (err, doc) {
if (err) {
message.type = 'Error!';
}
doc.remove(callback); //Removes the document
});
两者都不起作用,我刚得到 ID 为 url 的
localhost:3000/delete/54d49430b08883dc2fc8bb0d
您需要先执行才能删除,您还应该执行删除请求而不是 .get()。试试这个:
router.delete('/delete/:id', function (req, res) {
Booking.findById(req.params.id)
.exec(function(err, doc) {
if (err || !doc) {
res.statusCode = 404;
res.send({});
} else {
doc.remove(function(err) {
if (err) {
res.statusCode = 403;
res.send(err);
} else {
res.send({});
}
});
}
});
});
我的index.jade文件(用户点击删除文件的我的按钮)是:
a(href="/delete/#{booking.id}") Delete
到目前为止,在我的 index.js 文件中是:
router.get('/delete/:id', function (req, res) {
Booking.findOneAndDelete({ id: req.params.id }).remove().exec();
});
我也试过:
router.get('/delete/:id', function (req, res) {
Booking.findById(id, function (err, doc) {
if (err) {
message.type = 'Error!';
}
doc.remove(callback); //Removes the document
});
两者都不起作用,我刚得到 ID 为 url 的
localhost:3000/delete/54d49430b08883dc2fc8bb0d
您需要先执行才能删除,您还应该执行删除请求而不是 .get()。试试这个:
router.delete('/delete/:id', function (req, res) {
Booking.findById(req.params.id)
.exec(function(err, doc) {
if (err || !doc) {
res.statusCode = 404;
res.send({});
} else {
doc.remove(function(err) {
if (err) {
res.statusCode = 403;
res.send(err);
} else {
res.send({});
}
});
}
});
});