微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql – MongoDB的论坛模型

所以我正在为一个论坛创建一个模型.思考线程和一堆评论在哪里.线程有很多评论.在RDBMS世界中,我会这样设计

Thread --has many--> Comment
id                   id
user_id              thread_id
                     user_id 

现在,我想,有了这个,数据/模式将遵循许多正常形式之一(我忘了哪个).我认为这是最明智的做法.但是,当谈到在Nosql世界(MongoDB)中这样做时,设计这种关系的最佳方法是什么?我几乎可以用RDBMS方式来做,但是我会失去使用嵌入式对象的优势.出于某种原因,我更倾向于这样做

Thread
_id
user_id
comments => [{_id, user_id, body, created_at}]

什么是最明智的做法我想这就是我要问的.为什么?

解决方法:

首先,我希望您已经阅读了Schema Design上的文档,其中的示例与您的类似.

因此,您可以根据自己的选择嵌入或链接.如果预期评论数量可以管理(相对较小),我会嵌入,如果评论太多,我会链接.

嵌入的优点是,只需要一个DB调用显示单个帖子/线程,并且大多数情况下通常只能将mongodb响应发送到浏览器(如果客户端进行UI呈现). *注意:添​​加评论需要使用$push进行更新.并且请记住,您必须创建comment._id,MongoDB不会为您自动创建它.嵌入式场景中注释数据的任何更新都需要使用$position运算符进行UPDATE.*

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐