如何使用 MongoDB 和 Mongoose for Node.js 存储线程注释?

问题描述 投票:0回答:2

在 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

node.js mongodb comments mongoose
2个回答
7
投票

您还可以使用 mongoose 的

populate
函数:http://mongoosejs.com/docs/populate.html

来自官方手册,这里有更多信息:https://docs.mongodb.com/manual/applications/data-models-tree-structs/


© www.soinside.com 2019 - 2024. All rights reserved.