Mongoose为每个帖子显示评论和明星(喜欢)

时间:2018-05-21 19:37:42

标签: node.js express mongoose mongoose-schema

我一直在制作社交网络应用。用户可以发帖,其他用户可以在帖子上加注星标(如)或评论。

每个帖子都包含一系列评论和明星ID。每条评论和明星都包含对其帖子的引用。

我的帖子,评论和明星的模块结构

Star Schema

const StarSchema =  mongoose.Schema({

created_at : {
    type : Date,
    require : true
},
user : {
    type : mongoose.Schema.Types.ObjectId,
    ref  : 'User'
},
post : {
    type : mongoose.Schema.Types.ObjectId,
    ref  : 'Post'
}});

评论模式

const CommentSchema = mongoose.Schema({

post : {
    type : mongoose.Schema.Types.ObjectId,
    ref  : 'Post'
},
user : {
    type : mongoose.Schema.Types.ObjectId,
    ref  : 'User'
},

content : {
    type : String ,
    require : true
},
created_at : {
    type : Date,
    require : true
}});

发布架构

const PostSchema = mongoose.Schema({

    content : {
        type : String,
        require : true
    },
    created_at : {
        type : Date,
        require : true
    },
    user : {
        type : mongoose.Schema.Types.ObjectId,
        ref  : 'User'
    },
    word : {
        type : mongoose.Schema.Types.ObjectId,
        ref  : 'Word'
    },
    comments : [{
        type : mongoose.Schema.Types.ObjectId,
        ref  : 'Comment'
    }],
    stars : [{
        type : mongoose.Schema.Types.ObjectId,
        ref  : 'Star'
    }]});

当我想使用此查询获得评论和明星的帖子时

    Post.find({_id : postId}).populate('user').exec(callback);

它给我发了帖子,但它的评论和明星是空的,即使它有评论和明星

0 个答案:

没有答案