【发布时间】:2020-04-04 21:28:30
【问题描述】:
我想显示用户指定的数据。我使用 Passport 来验证用户,我有 2 个数据库名称:
- 用户
- 任务
在用户中有:用户名、电子邮件、密码字段
在任务中我有:startTime、endTime、sessionTime、Email
所以我只想显示与电子邮件匹配的数据,或者是否有任何其他方式来识别要显示的用户特定数据
我的获取请求代码:
router.get('/show', (req, res, next) => {
Task.find({})
.exec(function (err, task) {
if (err) {
res.json({
status: false,
Message: "Error in Getting Task",
Error: err
})
}
res.json(task)
})
})
有没有办法只获取用户指定的数据
或者我可以对护照代码进行一些更改以显示特定数据
护照代码:
function (username, password, done) {
User.findOne({ email: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.isValid(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
passport.serializeUser(function(user, done) {
done(null, user._id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
谢谢。
【问题讨论】: