【发布时间】:2018-06-18 23:20:33
【问题描述】:
我实际上是编程和 Firebase 的新手。我需要知道这两种情况之间哪一种更好。
我正在制作一个活动应用程序。如果用户将参加活动,我会在嵌套在“users”集合中的子集合“attendedEvents”中编写一个文档,如下所示:
然后,我需要管理该参加活动的完整数据并将其显示到客户端应用程序,我需要显示位置、坐标、地点等数据。
有两种方法可以保存参加的活动数据
1. 我只是将 eventID 写在“attendedEvents”子集合中。像这样
然后当我需要显示完整数据时,我需要执行 2 个步骤。首先我在那个“attendedEvents”子集合中获取所有的eventID,然后专门根据eventID做一个查询来获取完整的事件数据。
2. 我将所有事件数据写入“attendedEvents”子集合字段,而不仅仅是 eventID。像这样
所以当我需要在客户端应用程序中显示事件数据时,我只需要执行一次查询即可引用“attendedEvents”子集合。
这两者之间的优缺点是什么?
说实话,我不太确定要选择。但目前我会选择只写 eventID,因为在 firebase 中有存储定价,即使当我向客户端应用程序显示参加的事件数据时,数据实时同步并不是真正需要。
那么网络带宽呢?因为您需要为 Cloud Firestore 请求使用的网络带宽付费,因为第一个选择需要更多带宽,对吗?我不太了解这个网络带宽
【问题讨论】:
标签: android ios firebase google-cloud-firestore