Quiero mostrar en mi usuario/myarticlesview solo los artículos del usuario que inició sesión. ¿Cómo puedo hacer eso? Aquí está mi modelo de usuario y el esquema del artículo:
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() } });
Quiero hacer esto en mi controlador de usuario y lo pasé a la vista:
myArticlesGet: (req, res) => { if (!req.isAuthenticated()) { res.redirect('/'); return; } res.render('user/myarticles') }No puedo entender cómo hacer la consulta. Gracias.
Como está utilizando express sessions rápidas, puede almacenar el userId de usuario en la sesión rápida cuando el usuario está autenticado y luego puede obtener artículos de usuarios de ese tipo.
User.find({_id: req.session.userId}).populate('articles')