mongodb - 在 mongodb 中设计评论/回复集合
问题描述
我正在尝试在 mongo db 中设计评论和回复集合。
因此,我将评论和回复分隔在不同的集合中,以提高评论的阅读性能,而每当用户单击“加载更多或加载回复”时,都会获取回复。
我对评论和回复使用了嵌入技术,因此我在每个 user_id 的每个文档中存储了 20 个评论/回复 JSON 对象。
我设计这样的 JSON 对象:
- 评论对象:
{
“comment_id”:1,
"text": "评论文本",
“回复”:[
{
“重播ID”:1,
"文本":"回复文本",
“见解”:{},
"referenceToReplies":"回复集合中的参考,用于回复回复案例"
},
{
“重播ID”:2,
"text":"回复文本",
“见解”:{},
"referenceToReplies":"回复集合中的参考,用于回复回复案例"
}
],
"moreRepliesReference":"如果有超过 10 个回复,则引用它并存储在另一个名为回复集合的集合中"
},
- 回复文件:
{
"refrence_id":"在回复中写的引用,在评论/回复对象中称为 "moreRepliesReference 或 referenceToReplies"",
"文本":"回复文本",
“见解”:{},
"referenceToReplies":"回复集合中的参考,用于回复回复案例"
}
我知道这是一种奇怪的设计,但我认为它非常适合用户进入评论页面时阅读评论。它显示了每条评论的最后 10 条回复。如果用户需要更多回复。他将单击“加载更多”,然后系统将使用“referenceToReplies”或“moreRepliesReference”从回复集合中获取更多回复。
是正确的设计吗?您在我的设计中看到了哪些缺点?
解决方案
推荐阅读
- javascript - Javascript 代码在 JSFiddle 中工作,但不在浏览器中
- css - 在 CSS 中创建完美的彩虹渐变
- c - 如何组织从服务器获取的 json 数据?
- angular - 播放 abcjs 动画时没有移动光标
- java - 调用 FileWriter 进行多次排序的错误修复
- string-search - Rabin Karp 什么时候比 KMP 或 Boyer-Moore 更有效?
- python - 显示目录中的所有图像时出错
- r - 保存循环会导致 R 中的新数据框列
- javascript - 如何增加 mongoDB 中动态属性的价值
- javascript - React:判断一个元素是否在另一个 ref 容器中