Javascript PUT方法mongoose模型
我有这个密码。想去车场Javascript PUT方法mongoose模型,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有这个密码。想去车场 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;}
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.'});
});
})
});
收到这个错误
如果(check!=false){intain.check=false;}
^
引用错误:未定义检查您可能找不到具有该
id
的入口。您应该首先检查是否返回了任何摄入量
。将if(摄入)
包裹在其周围以捕获该异常
只有存在实际错误时才会返回错误。如果没有找到入口,那么findById
将只返回一个空对象{}
。因此,如果您尝试检查空对象的字段,您将得到一个错误
尝试:
当定义了
err
时,它将返回两个响应(原始代码的作用相同:当发生错误并发送错误响应时,它不会从函数返回)。用于更改检查状态的if…else块不是必需的。。。检查=!摄入。检查;
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.");
}