【发布时间】:2018-05-27 18:11:50
【问题描述】:
仍然是一个相对新手,但我正在使用门户网站让人们检查一个人是否是俱乐部的成员。我正在使用 mongodb 和 mongoose 来执行此操作,但是当输入不在数据库中的数字时,会返回错误“TypeError:无法读取未定义的属性'用户名'”,但我不确定如何要处理此错误,请参阅下面的代码:我知道有几种方法可以重构和整理我的代码,但这是我想知道的猫鼬错误处理。干杯????
app.get('/checkmembership', function(req, res) {
var jsonResponse = {};
var returnArray =[];
var dbArray,
queryArray,
resulta,
resultb,
resultc,
resultd,
resulte,
resultf;
console.log("before running compareDetails " + returnArray);
User.find({username: req.query.memberIdQuery}, function(err, foundData) {
if(err){
console.log(err);
} else {
dbArray = [foundData[0].username, foundData[0].emailaddress, foundData[0].surname];
console.log(dbArray);
dbArray = dbArray.join('|').toLowerCase().split('|');
console.log(dbArray);
queryArray = [req.query.memberIdQuery, req.query.emailQuery, req.query.surnameQuery];
console.log(queryArray);
queryArray = queryArray.join('|').toLowerCase().split('|');
console.log(queryArray);
returnArray = compareDetails(queryArray, dbArray);
resulta = returnArray[0];
resultb = returnArray[1];
resultc = returnArray[2];
resultd = returnArray[3];
resulte = returnArray[4];
resultf = returnArray[5];
}
jsonResponse = {
set_attributes:
{
resulta : resulta,
resultb : resultb,
resultc : resultc,
resultd : resultd,
resulte : resulte,
resultf : resultf
},
};
res.send(jsonResponse);
});
});
【问题讨论】:
标签: javascript node.js mongodb mongoose error-handling