【发布时间】:2019-01-17 21:08:34
【问题描述】:
在 UsersSchema 中,我定义了一个函数来从数据库返回一个对象,知道 decoded._id 和 tokens.token:
UserSchema.statics.findByToken = function(token) {
var User = this;
var decoded;
try {
decoded = jwt.verify(token, 'abc123');
} catch (e) {
return Promise.reject();
}
return User.findOne({
'_id': decoded._id,
'tokens.token': token,
'tokens.access': 'auth'
});
};
由于某种原因,findOne 函数返回 null,尽管具有该 ID 的对象存在于数据库中。
【问题讨论】:
-
我猜
jwt.verify是异步的并返回一个Promise。在使用该值之前,您应该等待它完成。 -
进行查询时,
decoded值可用。我查过了。
标签: javascript node.js mongodb mongoose mongodb-query