如何填充infinitley评论回复猫鼬模型

时间:2020-07-30 18:29:44

标签: javascript node.js database mongodb mongoose

我在我的网站上添加了对帖子评论的回复,现在我在如何填充深度回复时遇到问题。我始终使用此方法.populate('comments.authorid', ['username', 'avatarUrl']),但是当用户在答复中答复时,就会出现问题。

您知道如何解决吗?我正在寻找可以按名称填充所有字段的东西

更新!

好的,我发现了问题。因此,在commentSchema中,我使用comments:[this]无效。我需要一种将CommentSchema嵌套在注释字段中的方法。

const CommentSchema = new Schema({
  authorid: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Users",
    required: true,
  },
  Date: {
    type: Date,
    default: Date.now
  },
  body: {
    type: String,
    required: true,
    minlength: 1,
  },
  comments:[this],
  like:[{
    user:{
      type: mongoose.Schema.Types.ObjectId,
      ref: "Users",
    }
  }]
});

const userPost = new Schema ({

body: {
    type: String,
    required: true,
    text: true,
    minlength: 4,
},
file:{
  type: String
},
postTags: [{
  type: String
}],
authorid: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Users",
    required: true,
},
Date:{
    type: Date,
    default: Date.now
},
like:[{
  user:{
    type: mongoose.Schema.Types.ObjectId,
    ref: "Users",
  }
}],
comments: [
    CommentSchema.schema
    ],
});

0 个答案:

没有答案