Mongodb,将评论存储到特定帖子

时间:2017-08-03 21:45:14

标签: javascript node.js mongodb database

我的userSchema看起来像这样:

var UserSchema = new Schema({
  name: { type: ......},
  email: { type..... },

  test1: {
    [
      [0] { test: Array },
      [1] { test: Array }      
    ]
  }
)};

此处未包含其他一些对象。在test1中的对象中,存储了一些我想要添加的数据或以某种方式绑定注释数组。问题是我不确定哪种方法最好?如果我应该创建一个新的commentSchema并以某种方式将注释与对象或如何连接。谁能给我一些如何实现它的提示?

1 个答案:

答案 0 :(得分:0)

您可以按如下方式创建架构:

var CommentSchema = new Schema({
    user: {type: Schema.Types.ObjectId, ref: 'User', required: true},
    message: String,
});

var UserSchema = new Schema({
    name: { type: ......},
    email: { type..... },
    ...
    test1: {
    comments: [CommentSchema]
    }
    ... OR
    comments: [CommentSchema]
)};

或者如果您尝试使用评论发布的内容,请尝试

var PostSchema = new Schema({
    comments: [CommentSchema]
    postBody: String
})

var UserSchema = new Schema({
    name: { type: ......},
    email: { type..... },
    ...
    posts: [PostSchema] 
    ...
)};