在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
});
但这似乎只适用于顶级评论+ 1级评论。我相当确定我无法在ReplySchema
内使用ReplySchema
。
答案 0 :(得分:5)
从官方手册中,我猜你会在这里找到更多答案(:
http://docs.mongodb.org/manual/tutorial/model-tree-structures/
编辑:你也可以使用mongoose的“填充”功能:http://mongoosejs.com/docs/populate.html
祝你好运答案 1 :(得分:2)