gpt4 book ai didi

mongodb - MongoDB 中单个父注释中的嵌套(子)注释

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:20 25 4
gpt4 key购买 nike

问题:我是否将子评论嵌套在单个父评论中?

概述:

  • 创建评论系统

  • 评论可以有 child

  • 现在,每个评论子项或父项都作为一条记录存储在名为 SubmissionCommentsSchema

  • 的集合中
  • 子评论有一个键 => 值为 parent_id => Object ID 其中 Object ID 引用父评论有nullparent_id

架构看起来像:

SubmissionCommentsSchema = new Schema({
id : Schema.ObjectId,
submission_id : {
type: String
},
parent_id : {
type: String,
default: null
},
comment : {
type: String,
required: true
},
user_id: {
type: String,
required: true
},
username : {
type: String,
required: true
},
created : {
type: Date,
default: Date.now
},
reply : {
type: Boolean,
default: false,
required: true
},
deleted : {
type: Boolean,
default: false
}
});

家长评论示例:

  { submission_id: '51899313634afe0000000051',
comment: 'asdfadsf',
user_id: '516e173f48670b44d20004dc',
username: 'bobcobb',
_id: 51899338634afe0000000055,
deleted: false,
reply: false,
created: Tue May 07 2013 16:50:16 GMT-0700 (PDT),
parent_id: null },

引用上述父评论的子评论示例:

  { submission_id: '51899313634afe0000000051',
comment: 'Testing one two four',
user_id: '516b45f8ac6a1b488e000001',
username: 'testing',
_id: 519d93a83867470000000146,
deleted: false,
reply: false,
created: Wed May 22 2013 20:57:28 GMT-0700 (PDT),
parent_id: '51899338634afe0000000055' },
  • 当将它们提供给 View 时,我将它们全部拉回并循环遍历它们以查看哪些具有 parent_ids !== null。如果是这样,那么我将它们放在一个列表中并将它们附加到父评论,然后将它们转储到 View 中。

我是否应该将子评论作为嵌套数组存储在原始父评论中?

最佳答案

可能不会,因为如果特定线程收到许多回复,您很可能会超出文档大小限制。

然而,您可能想要做的是在评论中添加一个整数 depth 字段,这样您就可以轻松地获取,比如说,前 2 个级别,显示它们,然后仅将后续级别加载为用户展开评论树。

有时也值得维护一个祖先 ID 数组,这样您就可以快速获取任何子树,或者给定一个特定评论的深层链接可以快速找出您需要在其“上方”加载哪些评论以显示包含它的最小扩展评论树。

关于mongodb - MongoDB 中单个父注释中的嵌套(子)注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com