首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firestore中用于聊天的Datamodel

Firestore中用于聊天的Datamodel
EN

Stack Overflow用户
提问于 2018-10-31 13:48:33
回答 1查看 367关注 0票数 1

因此,我已经阅读了有关Firestore的所有正式文档,并且了解了所有基础知识和大多数高级主题。但最后我想出了两个问题:

  • 与根级集合相比,使用子集合有什么好处吗?如果数据库是在Subcollections中构建的,那么它可能会更有组织性一些。但最后,在性能和可伸缩性方面,根级的集合似乎只是优越的。正式文档中列出的所有优点也适用于根级别的集合,还是我误解了什么?
  • 让我们以著名的聊天示例为例,考虑许多聊天组(如WhatsApp)。每当用户打开聊天时,用户都可以看到有关聊天和聊天成员的信息。但这就是我的第二个问题:不向聊天成员展示意味着,每当有人打开聊天时,另一个包含上述用户配置文件图像和名称的集合将被加载?如果您有一个包含10人的“WhatsApp”组,这意味着每当有人打开组时,就会有11条读取(一条用于组本身,10条用于成员的图像/名称)。让我们扩展这个想法,并使组公开,这将导致疯狂的阅读量,仅仅是为了查看组的基本信息。既然收费表上写着,这会很快爆炸,不是吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-31 14:04:17

您可以最大限度地链接100子集合。根据有关使用和限制的相关文档。

最高分集深度: 100

关于你的问题:

与根级集合相比,使用子集合有什么好处吗?

据我所知,Firestore可以在第1级快速查找节点,就像在第100级上查找节点一样。因此,对于常规数据库来说,深度不应成为影响技术水平上的速度的一个因素。IMHO,最好让数据尽可能平整。

关于第二个问题,您可以存储对象,也可以只存储引用,但在作出决定之前,我建议您注意我从这个帖子的答复中可以找到的一些细节。

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

https://stackoverflow.com/questions/53084965

复制
相关文章

相似问题

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