更新Mean Stack / Node / Mongoose中的模型

时间:2016-12-15 19:59:37

标签: node.js express mongoose mean-stack

我在API中更新模型时遇到问题。我目前正在使用Mean Stack with"表达":" ^ 4.14.0"并且" mongoose":" ^ 4.7.2",与mongodb 3.2.11

当我尝试将更改输出到api时,我收到OK状态,但资源未更新。

我的控制器如下:

exports.getById = (req, res, next, id) => {
    Agent.findOne({
        _id: id
    }, (err, agent) => {
        if (err) return next(err);
        if (!agent) return next(new Error('Failed to load agent ' + id));
        req.agent = agent;
        next();
    });
};

exports.update = (req, res, next) => {
    var agent = req.agent;
    agent.save((err) => {
        if (err) return res.status(400).send({
            message: getErrorMessage(err)
        });
        res.json(agent);
    });
};

我的路线是:

app.route('/api/agents/:agentId')
    .get(agents.read)
    .put(agents.update)
    .delete(agents.delete);


app.param('agentId', agents.getById);

最大的问题在于PUT。任何人都可以看到错误吗?

由于

1 个答案:

答案 0 :(得分:0)

以下是一个示例更新方法:

Tweet.findById(tweetId, (err, tweet) => {
        if (err) {
            console.log(err);
        }

        tweet.message = editedTweetData.message;
        tweet.save(err => {
            if (err) {
                console.log(err);
            }
        });

        res.redirect('/');

    });