2016-12-15 56 views
0

我的API有更新模型的問題。我目前使用的平均堆棧與「express」:「^ 4.14.0」和「mongoose」:「^ 4.7.2」,與mongodb 3.2.11用Mean Stack/Node/Mongoose更新模型

當我嘗試PUT更改爲API,我收到確定狀態,但資源不會更新。

我的控制器看起來像:

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

下面是一個例子更新方法:

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

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

     res.redirect('/'); 

    });