首页 > 解决方案 > 猫鼬评论和回复模式

问题描述

我正在关注此链接以了解如何为带有评论和回复的社交媒体类型模块设计我的架构。https://www.xuchao.org/docs/mongodb/use-cases/storing-comments.html#gsc.tab=0(这是为 mongdb 而不是猫鼬)

我正在尝试创建这样的架构

const socialSchema = new mongoose.Schema({
    Entry_Number: Number,
    Player_Name: String,
    Player_Message : String,
    Player_Fullmessage: String,
    Player_ProfilePic : String,
    Player_UploadedPic: String,
    Player_UploadedVideos: String,
    Status_Date: String,
    Status_Feeling: String,
    Google_Profile: String,
    Status_Likes: [{Like_Number: Number, Liked_By: String}],
  Status_Comments: [
                      {Comment_Number: Number,
                       Comment_By: String,
                       Comment_Message: String},
                       replies: [
                         {Comment_By: String,
                          Comment_Message: String}
                        ],
                     ],
Friends: { type: Array, default: []},
    Shares: { type: Array, default: []},
    Shared_Post: String,
    Shared_Newmessage: String,
    Shared_PostDetails: [{type: Schema.Types.ObjectId, ref: "socialdatas"}]

我面临的问题是回复。我的逻辑告诉我回复应该是主评论数组中的一个数组。但是,上面的代码在编译时给了我一个错误。SyntaxError:意外的令牌':'

我正确地接近这个吗?哪位高手可以给我一些建议。谢谢。

标签: mongodbmongoosemongoose-schema

解决方案


我建议为commentsand创建一个单独的模式players,然后您可以使用它populate()来访问集合之间的数据。

但要解决上面的问题,它应该是这样的:

Status_Comments: [{
                     Comment_Number: Number,
                     Comment_By: String,
                     Comment_Message: String,
                     replies: [
                        {Comment_By: String,
                         Comment_Message: String}
                        ]
                  }]

推荐阅读