在 MongoDB 和 Mongoose 中存储评论树的最佳方式是什么?目前我有这个:
CommentableSchema = new Schema({
...
});
ReplySchema = new Schema({
userId: Number,
'body': String,
createdAt: Date,
updatedAt: Date
});
CommentSchema = new Schema({
commentable: CommentableSchema,
userId: Number, // users are NOT stored in MongoDB
subject: String,
'body': String,
createdAt: Date,
updatedAt: Date,
replies: [ReplySchema],
length: Number // comment + all replies
});
但这似乎只适合顶级评论+多一级评论。我相当确定我不能在
ReplySchema
中使用 ReplySchema
。
您还可以使用 mongoose 的
populate
函数:http://mongoosejs.com/docs/populate.html
来自官方手册,这里有更多信息:https://docs.mongodb.com/manual/applications/data-models-tree-structs/