在Node/Express中获取属于一个用户的所有帖子

问题描述:

我有2个模型用户&复活,如下所示...在路由器中(请参阅下文)查询属于用户的所有复活是什么/ creator显示在他的仪表板/配置文件页面上?在Node/Express中获取属于一个用户的所有帖子

用户模型:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var userSchema = new Schema({ 
    firstName: { 
     type: String, 
     required: true 
    }, 
    lastName: { 
     type: String, 
     required: true 
    }, 
    email: { 
     type: String, 
     required: true 
    }, 
    password: { 
     type: String, 
     required: true 
    } 
}); 

module.exports = mongoose.model('User', userSchema); 

复活型号:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var reviveSchema = new Schema({ 
    reviveTitle: { 
     type: String, 
     required: true 
    }, 
    reviveStory: { 
     type: String 
    }, 
    author: { 
     id: { 
      type: mongoose.Schema.Types.ObjectId, 
      ref: "User" 
     } 
    } 
}); 

module.exports = mongoose.model('Revive', reviveSchema); 

路由器:

router.get('/dashboard', isLoggedIn, function(req, res) { 
    code ?? to get all revives that belong to the creator/user only ?? 
    res.render('users/dashboard', {currentUser: req.user}); 
}); 
+0

谢谢你的猫鼬除了迪马:)在回答任何线索? – SakoBu

嗯,我会设置了复活模式有点不同:

author: { type: mongoose.Schema.Types.ObjectId, ref: "User"} 

那么你应该能够只是做一个正确的发现:

const Revive = mongoose.model('Revive'); 

router.get('/dashboard', isLoggedIn, function(req, res) { 
    Revive.find({author:req.user._id}, (e, revives) => { 
     // however you handle errors goes first 
     res.render('users/dashboard', {currentUser: req.user, revives: revives}); 
    }); 
});