首页 > 解决方案 > mongodb/mongojs 不会用 put 更新

问题描述

我正在使用 MEAN 堆栈开发一个简单的 CRUD 应用程序,并且我正在测试我的服务器以确保我可以在我的 mongodb 数据库上执行请求。我能够执行 GET、POST 和 DELETE 请求,但是当我使用邮递员执行 PUT 请求时,我得到了这个作为响应

{
    "driver": true,
    "name": "MongoError"
}

这是我执行 PUT 请求的代码:

router.put('/todo/:id', function (req, res, next) {
    var todo = req.body;
    var updTodo = {};

    if(todo.title){
        updTodo.title = todo.title;
    }
    if(!updTodo){
        res.status(400);
        res.json({
            error : "Bad Data"
        });
    } else  {
        db.todos.update(
            {_id : mongojs.ObjectId(req.params.id)}, updTodo, {}, function (error, todo) {
            if (error){
                res.send(error);
            }
            res.json(todo);
        });
    }
});

我是 Express 的新手,所以我不完全确定我在这里做错了什么。

编辑:这就是请求的样子:截图

标签: mongodbexpressmean-stackmongojs

解决方案


推荐阅读