1 回答
TA贡献1783条经验 获得超4个赞
如果您将评论 CommentSchema 硬合并到 Post Schema 中,您将始终受到硬编码层数的限制。
相反,最好的做法是引用其他文档而不合并它们。例如(这只是众多方式中的一种):
comments: [CommentSchema]从 PostSchema 中删除。
const CommentSchema = new mongoose.Schema({
// always require all comments to point to the top post, for easy query of all comments whether nested or not
postId: {
type: ObjectId,
ref: 'posts',
required: true,
}
parentCommentId: {
type: ObjectId,
ref: 'comments',
required: false, // if not populated, then its a top level comment
}
username: {
type: String,
required: true,
},
detail: {
type: String,
required: true,
},
})
现在,当您加载帖子时,执行查询以获取所有评论postId: post._id并根据需要以图形方式显示它们。另一个可能的主要模式是,您不是从评论到帖子向上引用,而是从帖子到评论 [到评论等] 向下引用,这允许查找但不是那么简单的简单查询。
祝你好运!
添加回答
举报