我使用节点使用令牌进行身份验证但是收到错误
错误500:无法读取未定义的属性
这是我的代码
功能findByToken()
var User = this;
var decoded;
try {
jwt.verify(token, 'abc');
} catch(e) {
return Promise.reject();
}
return User.findOne({
'_id': decoded._id,
'tokens.token': token,
'tokens.access': 'auth'
});
此函数将token作为参数,并将数据发现到数据库中。
路线
app.get('/users/me', (req,res) => {
var token = req.header('x-auth');
User.findByToken(token).then((user) => {
res.send(req.user);
}).catch((e) => {
res.send(e);
});
});
这是我使用我的函数返回数据的路线。但是得到500错误请帮助我。
答案 0 :(得分:0)
你应该使用静态方法
例如:
animalSchema.statics.findByName = function(name, cb) {
return this.find({ name: new RegExp(name, 'i') }, cb);
};