首页 > 解决方案 > firebase firestore nosql 设计用于与群组聊天的应用程序

问题描述

我正在尝试以一种高效的方式设计firestore db。我遇到的主要问题是我应该如何定义“组”。假设一个用户被邀请加入群聊,因此客户端需要检索该群聊的数据,我是否应该有一个“群组”集合,然后找到正确的群组文档?或者,我是否应该在用户文档中有一个“组”属性,该属性有一个 id 来引用要检索的组?

在 SQL 中,在用户的组表中引用将是显而易见的答案,但我不确定 firestore。我不想浏览整个组集合,只是为了找到新邀请用户加入的组。有什么提示吗?另外,我的前端在 React 中,我正在考虑使用 onSnapshot 方法来订阅集合(这似乎是进行实时更新的最佳方式)。

标签: reactjsfirebasereact-nativegoogle-cloud-firestorenosql

解决方案


我认为最适合您的是:

首先有一个集合,假设您创建了组,并且在其中每个文档都有所有组的唯一 ID,

在每个组(即文档)的内部,您可以拥有一个集合,其中包含该组的所有聊天和组相关信息,例如组类型等

希望能帮助到你。随时怀疑

在此处输入图像描述


推荐阅读