首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb注释,答复数据库分析

Mongodb注释,答复数据库分析
EN

Stack Overflow用户
提问于 2018-06-30 21:57:57
回答 1查看 1.6K关注 0票数 0

我需要在db设计方面的帮助,在我的应用程序中有一个注释和回复,注释将作为每个数组项的子文档存储在数组中,但是我有点不知道在哪里存储答复,我在考虑两种情况。

(1)将答复存储在同一注释子文档中的嵌入式数组中。

代码语言:javascript
复制
comments : [
    { 
        commentId: ObjectId("XXXX"),
            ...
        replies : [
            { 
            replyId : ObjectId("XXX") 
            ...
            } 
          ]
    } 
   ]

(2)新数组(答复),每个元素都是答复的子-document。

代码语言:javascript
复制
{
    comments :[ .....] ,
    replies: [ 
            {
            commentId: ObjectId("XXX"), 
            replies : [ ...]
            }
    ]
}

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 06:54:37

方法1

Pros:检索非常快速,并与MongoDB文档的概念和最佳实践保持一致。只有需要更新的文档,才会更快。

Cons:文档大小将随着每个活动而增加,可能达到16 to的硬限制。如果你确信评论和回复是非常有限的,那么它是好的。

方法2

Pros:如果您想加载对用户请求的评论的回复,这将是很好的,因为带有注释的文档将是轻量级的,并且在数据大小上将受到很大的控制。

Cons:使用MongoDB 4.0,我们有多文档事务支持,以前不支持这种支持,如果您能够更新回复,就会创建问题,但是在更新注释错误时发生了错误。第二,每次更新你还没有更新2份文件。

因此,方法1或2都取决于您的用例。如果注释和答复是有限的,则方法1必须更好地使用MongoDB4.0事务支持的其他明智的方法2。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51118842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档