Javascript ReferenceError:未定义错误
我开始使用Mongo、Express和Node开发我的第一个API。当我试图为一个特定的用户创建API endponit时,控制台抛出errorJavascript ReferenceError:未定义错误,javascript,node.js,mongodb,express,backend,Javascript,Node.js,Mongodb,Express,Backend,我开始使用Mongo、Express和Node开发我的第一个API。当我试图为一个特定的用户创建API endponit时,控制台抛出errorReferenceError:err未定义。我已经用于auth part的方法中出现了一个错误,在那里它工作正常。代码的第5行错误部分: exports.userById = (req, res, next, id) => { User.findById(id).exec(() => { if(err || !user)
ReferenceError:err未定义
。我已经用于auth part的方法中出现了一个错误,在那里它工作正常。代码的第5行错误部分:
exports.userById = (req, res, next, id) => {
User.findById(id).exec(() => {
if(err || !user) {
return res.status(400).json({
err: "User not found"
});
}
req.profile = user //adds profile object in req with user info
next();
});
}
另外,我尝试获取单个用户的代码部分:
exports.getUser = (req, res) => {
req.profile.hashed_password = undefined;
req.profile.salt = undefined;
return res.json(req.profile);
}
我不认为问题可能在这里,但也有路由文件中的路由行
router.get("/users/:userId", authController.requireSignin, userController.getUser);
谢谢大家的帮助 我很确定
err
来自exec
:
User.findById(id).exec(err => {...});
编辑我猜你想按id搜索并返回一些内容。试试这个
User.findById(id, (err, user) => {
// if error display errort
if(err) console.error(err);
// if user do not exists
if(!user) {// what is user ? the doc result ?
return res.status(400).json({
"err": "User not found" // i think use ""
});
}
req.profile = user //adds profile object in req with user info
next();
});
你从不将
err
定义为变量或参数或任何东西,实际上你从哪里得到这个ReferenceError
是这一行的if(err | | | user){
你在它之前没有定义过它,或者是作为参数等等。也许你想要做的就是从exec内部的箭头函数的参数中得到它