我正在使用Mongodb,并且想知道如何获取用户创建的记录。在下面的示例中,我必须用不同的电子邮件记录每个邮件(createdBy),但是如何获取当前用户登录的记录?
模式结果:
var resultSchema = new Schema({
test: { type: String, required: true, lowercase: true},
status: { type: String, required: true, lowercase: true},
date: { type: Date, required: true},
amount: { type: Number, required: true},
createdBy: { type: String, required: true},
});
模式用户:
var userSchema = new Schema({
email: { type: String, required: true, lowercase: true},
username: { type: String, required: true, lowercase: true},
password: { type: String, required: true}
});
数据库:
"recipe": [
{
"_id": "5b7af572a1051b1b18aec627",
"test": "asassdasdasd",
"status": "waiting",
"date": "2018-08-06T22:00:00.000Z",
"amount": 2,
"createdBy": "test@outlook.com",
"__v": 0
}
]
"recipe": [
{
"_id": "5b7af572a1051b1b18aec621",
"test": "test2",
"status": "waiting",
"date": "2018-08-06T22:00:00.000Z",
"amount": 2,
"createdBy": "notTest@outlook.com",
"__v": 0
}
]
我尝试过,但是返回空:
router.get('/userResults', (req, res) => {
Result.find({createdBy: req.body.createdBy}, (err, result) => {
})
})
答案 0 :(得分:0)
要说出用户是否已登录并识别登录的用户,我确定您有某种机制来获取当前用户的电子邮件ID。 因此,理想情况下,您应该可以访问已登录并进行API调用的用户的电子邮件ID。
使用JWT的一种方法是使用中间件解析令牌,然后将电子邮件或任何其他相关字段转发到请求,在此您进行数据库调用以检查“结果”集合。