Javascript 节点js类型错误:无法读取属性';id';未定义的
我正在尝试访问仪表板,但出现错误Javascript 节点js类型错误:无法读取属性';id';未定义的,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我正在尝试访问仪表板,但出现错误 TypeError: Cannot read property 'id' of undefined 我已经使用Express Router创建了访问仪表板的路由。(“路线/索引”) 我已在app.js文件中添加了此路由 app.use('/',require('./routes/index')) 这是我的MongoDB数据库模式(“模型/用户”) 我已成功注册并在数据库中保存了一个用户 [Database Entry][1] 所以这个错误是因为,您的id没
TypeError: Cannot read property 'id' of undefined
我已经使用Express Router创建了访问仪表板的路由。(“路线/索引”)
我已在app.js文件中添加了此路由
app.use('/',require('./routes/index'))
这是我的MongoDB数据库模式(“模型/用户”)
我已成功注册并在数据库中保存了一个用户
[Database Entry][1]
所以这个错误是因为,您的
id
没有定义。
请
console.log(req.user)
或console.log(req.body)
,您将知道您得到了什么。请求不包括用户
对象。当console.log(req.body)
时,应该得到空数组
您可以这样做:
req.user = await User.findById(yourdata.id)
然后你可以使用
req.user.id
你可以粘贴请求正文
吗,就像你给出的正文一样。你试过调试req.user.id吗?你能告诉我们当你记录req.user.id
时你得到了什么吗?当我键入console.log(req.body)
或console.log(req.user)时,我得到了未定义的
每当我使用req.user
,req.body
等时,我都会得到未定义的。我无法访问数据库属性。现在,即使是req.user.tokens
也无法正常工作,在出现此错误之前,它工作得很好。我正在进行未定义。我的代码昨天还在工作,我不知道现在怎么会出错。我该如何解决这个问题?我猜你可能在使用邮递员,这意味着你没有发送请求正文。所以这就是为什么你会出现未定义的错误,你能粘贴你的邮递员尸体吗?您也尝试过console.log(req.body)
?它也是未定义的吗?不,我使用的是MongoDB数据库。我尝试了console.log(req.body)
,它显示未定义您是否可以在用户令牌中存储任何信息?因为这是一个get请求,而且只有当您将id存储在令牌中时,您才能获得id?你能再次登录吗?
[Database Entry][1]
req.user = await User.findById(yourdata.id)