问题可能很简单,但是我凌晨2点的大脑不再了解发生了什么。我正在尝试创建一个显示基本公共信息的个人资料页面。我试图使其工作的方法是,在通过其特定的_id注册帐户时,从mongodb中拉出用户名。如果需要,我使用的验证是JWT。
app.post('/api/user-profile', async (req,res) => {
const { token } = req.body
if(!token) {
return res.json({ status: 'error', error: 'not logged in' })
}
try {
const user = jwt.verify(token, JWT_SECRET)
const userid = user.id
const result = User.findOne({ userid })
console.log(result)
// return res.json({ status: 'ok', name: result })
} catch(error) {
// return res.json({ status: 'error', error: 'something went wrong' })
console.log(error)
}
})
我不确定应该使用什么功能,findOne()
或者findById()
。我试图看一下猫鼬的文档,但是对于我来说,解释有点太难了。
PS用户=用户注册模型。如果需要,我可以粘贴代码。
使用findById
替代的findOne
,如果userid
是_id
和使用await
查询之前,所以这样做:
const result = await User.findById(userid)
如果您想使用findOne:
const result = await User.findOne({"_id" : userid})
如果要.toObject
在查询后使用普通对象javascript ,例如:
const result = await User.findById(userid).toObject()
console.log(result)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句