router.delete('/:id', function(req, res){
user.remove({
_id: req.params.id
}, function(err, users) {
if(err) {
res.status(404).send({
message: "Invalid User",
data: []
});
} else {
res.status(200).send({
message: "User deleted",
data: []
});
}
});
});
我尝试为RESTful API实现DELETE端点。 当我在邮递员上测试时,它成功删除了现有数据, 但是当我尝试删除无效数据时,它仍然会给我一条删除消息 响应状态为200。
我犯了什么错误?
答案 0 :(得分:0)
当您删除不存在的数据时,代码正常工作。
但是,如果在mongodb中工作,您可以检入用户返回nMatched
的值。
对于所有数据库,它们都包含此类型的标志(此处标志表示用户对象中的“nMatched”字段,您可以通过打印users
对象进行检查)。对于mongodb,它们包含0
或1
你能这样吗。
function(err, users) {
if(err) {
res.status(404).send({
message: "Invalid User",
data: []
});
} else if (users.nMatched === 0) {
res.status(400).send({
message: "User not exist deleted",
data: []
});
} else {
res.status(200).send({
message: "User deleted",
data: []
});
}
});