RESTful API删除无效数据

时间:2017-11-03 05:53:42

标签: node.js rest api express

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。

我犯了什么错误?

1 个答案:

答案 0 :(得分:0)

当您删除不存在的数据时,代码正常工作。

但是,如果在mongodb中工作,您可以检入用户返回nMatched的值。 对于所有数据库,它们都包含此类型的标志(此处标志表示用户对象中的“nMatched”字段,您可以通过打印users对象进行检查)。对于mongodb,它们包含01

中的值

你能这样吗。

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: []
             });
           }
    });