有这个代码。想禅车赤田。
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)
以捕获该异常。
仅当存在实际错误时才会返回错误。如果未找到摄入量,则 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.");
}
关于javascript - PUT方法 Mongoose 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37925912/