我在我的网站上添加了对帖子评论的回复,现在我在如何填充深度回复时遇到问题。我始终使用此方法.populate('comments.authorid', ['username', 'avatarUrl'])
,但是当用户在答复中答复时,就会出现问题。
您知道如何解决吗?我正在寻找可以按名称填充所有字段的东西
更新!
好的,我发现了问题。因此,在commentSchema中,我使用comments:[this]
无效。我需要一种将CommentSchema嵌套在注释字段中的方法。
const CommentSchema = new Schema({
authorid: {
type: mongoose.Schema.Types.ObjectId,
ref: "Users",
required: true,
},
Date: {
type: Date,
default: Date.now
},
body: {
type: String,
required: true,
minlength: 1,
},
comments:[this],
like:[{
user:{
type: mongoose.Schema.Types.ObjectId,
ref: "Users",
}
}]
});
const userPost = new Schema ({
body: {
type: String,
required: true,
text: true,
minlength: 4,
},
file:{
type: String
},
postTags: [{
type: String
}],
authorid: {
type: mongoose.Schema.Types.ObjectId,
ref: "Users",
required: true,
},
Date:{
type: Date,
default: Date.now
},
like:[{
user:{
type: mongoose.Schema.Types.ObjectId,
ref: "Users",
}
}],
comments: [
CommentSchema.schema
],
});