我一直在制作社交网络应用。用户可以发帖,其他用户可以在帖子上加注星标(如)或评论。
每个帖子都包含一系列评论和明星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);
它给我发了帖子,但它的评论和明星是空的,即使它有评论和明星