我正在尝试更新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并打印更新的记录。
请帮忙。我不确定如何正确地嵌套我的承诺