使用Firebase设置基于项目的应用程序的最佳实践
我正在使用Ionic2和Firebase开发一个基于项目的应用程序。我的问题是,以基于项目的格式存储数据时,最佳做法是什么?我知道它应该尽可能平。也就是说,下面是我当前的设置使用Firebase设置基于项目的应用程序的最佳实践,firebase,firebase-realtime-database,ionic2,angularfire2,Firebase,Firebase Realtime Database,Ionic2,Angularfire2,我正在使用Ionic2和Firebase开发一个基于项目的应用程序。我的问题是,以基于项目的格式存储数据时,最佳做法是什么?我知道它应该尽可能平。也就是说,下面是我当前的设置 Firebase Data -Users (all auth'd users) -Projects (Rules allow only users authorized to access one particular project) -Elements (elements within
Firebase Data
-Users (all auth'd users)
-Projects (Rules allow only users authorized to access one particular project)
-Elements (elements within the project that are edited)
-Forms (form items specific to a project)
-Images (just urls & metadata, the actual image is stored in GCS)
这是最佳实践吗?或者我应该将每个项目的“表单”和“元素”对象存储在一个节点中,使用查询和项目ID来检索它们吗
应用程序的流程如下所示:
我使用Angularfire2和一个
FirebaseObjectObservable
返回提供者中整个项目节点的值(见下文) 这取决于您的问题以及如何进行查询。您可以通过不同的查询检索相同的数据,例如检索同一用户的所有元素、与一个表单相关的元素等。因此,为了提供帮助,您需要提供有关如何进行查询的更多信息。谢谢@TurkhanBadalov,我相应地编辑了问题。如果你需要更多的上下文,请告诉我。事实上,你猜对了,你不应该加载全部内容。如果数据可以部分显示,则必须实现分页。否则,除了加载整个内容之外,您别无选择。但您可以实现随后的伪分页,例如在向下滚动时加载数据。但是由于缺乏背景(项目的类型是什么,互联网上有类似的项目吗?),我不能说如何组织数据。但看起来没问题。了解如何保存图像也很有趣。内部结构可能有用。大多数情况下,每个节点都有一个简单的JSON原型