首页 > 解决方案 > 在 mongodb 中设计评论/回复集合

问题描述

我正在尝试在 mongo db 中设计评论和回复集合。

因此,我将评论和回复分隔在不同的集合中,以提高评论的阅读性能,而每当用户单击“加载更多或加载回复”时,都会获取回复。

我对评论和回复使用了嵌入技术,因此我在每个 user_id 的每个文档中存储了 20 个评论/回复 JSON 对象。

我设计这样的 JSON 对象:

  1. 评论对象:

{

“comment_id”:1,

"text": "评论文本",

“回复”:[

{

“重播ID”:1,

"文本":"回复文本",

“见解”:{},

"referenceToReplies":"回复集合中的参考,用于回复回复案例"

},

{

“重播ID”:2,

"text":"回复文本",

“见解”:{},

"referenceToReplies":"回复集合中的参考,用于回复回复案例"

}

],

"moreRepliesReference":"如果有超过 10 个回复,则引用它并存储在另一个名为回复集合的集合中"

},

  1. 回复文件:

{

"refrence_id":"在回复中写的引用,在评论/回复对象中称为 "moreRepliesReference 或 referenceToReplies"",

"文本":"回复文本",

“见解”:{},

"referenceToReplies":"回复集合中的参考,用于回复回复案例"

}

我知道这是一种奇怪的设计,但我认为它非常适合用户进入评论页面时阅读评论。它显示了每条评论的最后 10 条回复。如果用户需要更多回复。他将单击“加载更多”,然后系统将使用“referenceToReplies”或“moreRepliesReference”从回复集合中获取更多回复。

是正确的设计吗?您在我的设计中看到了哪些缺点?

标签: mongodbperformancedatabase-designnosqlmongodb-query

解决方案


推荐阅读