我在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。任何人都可以看到错误吗?
由于
答案 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('/');
});