PUT方法mongoose模型
有这个代码。 想chanche che场。
apiRoutes.put('/intake/:id', function(req, res) { var id = req.params.id; Intake.findById(id, function(err, intake) { if (err)res.send(err); if (intake.check == false) {intake.check = true;} else {intake.check = false;} intake.save(function(err) { if (err) {return res.json({success: false, msg: 'Error'});} res.json({success: true, msg: 'Successful update check state.'}); }); }) });
如果(检查!= false)收到此错误{intake.check = false;} ^
ReferenceError:检查没有定义
你可能找不到那个id
。 你应该首先检查是否有任何intake
返回。 包裹一个if(intake)
来捕捉这个exception。
只有在出现实际错误时才会返回错误。 如果没有find摄入量,那么findById
将只返回一个空对象{}
。 所以,如果你试图检查一个空对象的字段,你会得到一个错误。
尝试:
Intake.findById(id, function(err, intake) { if (err) {res.send(err); return;} if (intake) { if (intake.check == false) {intake.check = true;} else {intake.check = false;} } else { res.send("No intake found."); }