如何使用nodejs更新mongoose中的记录?

时间:2017-07-03 01:54:30

标签: javascript node.js mongodb mongoose

我正在尝试更新mlab(一个远程mongodb数据库)中的记录。我使用express,mongoose和nodejs来更新某个记录。我也使用promises来避免回调金字塔。

Api文件:

router.put('/chairs/:id', function(req, res, next){

  Chair.findByIdAndUpdate({id:req.params.id}, req.body)
    .then(function() {
      Chair.findOne({id:req.params.id})
    })
    .then(function(chair){
      res.send(chair);
    })
    .catch(next);

});

我使用Postman'x-www-form-urlencoded'测试了上面的代码。当我尝试更新只有1个字段'title'并发送 PUT REQUEST 时,系统会提示我

{
    "myError": "Cast to ObjectId failed for value \"{ id: '5953532df36d28458af5609f' }\" at path \"_id\" for model \"chair\""
}

我想更新记录并再次获取ID并打印更新的记录。

请帮忙。我不确定如何正确地嵌套我的承诺

0 个答案:

没有答案