我想在我的用户/myarticlesview 中仅显示登录用户的文章。 我怎样才能做到这一点: 这是我的用户模型和文章架构:
let userSchema = mongoose.Schema(
{
email: {type: String, required: true, unique: true},
passwordHash: {type: String, required: true},
salt: {type: String, required: true},
articles: [{type: ObjectId, ref: 'Article'}],
roles: [{type: ObjectId, ref: 'Role'}]
}
);
let articleSchema = mongoose.Schema (
{
author: {type: ObjectId, ref: 'User'},
title: {type: String, required: true },
content: {type: String, required: true },
phone: {type: Number, required: true },
date: {type: Date, default: Date.now() }
}
);
我想在我的 userController 中执行此操作并将其传递给 View :
myArticlesGet: (req, res) => {
if (!req.isAuthenticated()) {
res.redirect('/');
return;
}
res.render('user/myarticles')
}
我不知道如何进行查询。谢谢。
最佳答案
当您使用express session
时,您可以在用户经过身份验证时将userId
存储在express session中,然后您可以像这样从用户那里获取用户文章
User.find({_id: req.session.userId}).populate('articles')
关于node.js - 如何仅获取给定用户 Express.js 的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226245/