【问题标题】:Update a model in Mean Stack / Node / Mongoose在平均堆栈/节点/猫鼬中更新模型
【发布时间】:2017-05-01 13:01:08
【问题描述】:

我无法在我的 API 中更新模型。我目前使用“express”的平均堆栈:“^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。任何人都可以看到错误吗?

谢谢

【问题讨论】:

    标签: node.js express mongoose mean-stack


    【解决方案1】:

    这里是一个示例更新方法:

    Tweet.findById(tweetId, (err, tweet) => {
            if (err) {
                console.log(err);
            }
    
            tweet.message = editedTweetData.message;
            tweet.save(err => {
                if (err) {
                    console.log(err);
                }
            });
    
            res.redirect('/');
    
        });
    

    【讨论】:

      猜你喜欢
      • 2017-02-14
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 2013-02-11
      相关资源
      最近更新 更多