使用Firebase设置基于项目的应用程序的最佳实践

时间:2017-07-24 21:28:24

标签: 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 the project that are edited)
        -Forms (form items specific to a project)
        -Images (just urls & metadata, the actual image is stored in GCS)

这是最佳实践吗?或者我应该存储每个项目的“表格”和一个节点中的“元素”对象,使用查询和项目的ID来检索它们?

应用程序的流程如下:

  1. 用户首先使用Firebase Auth登录(此数据存储在“用户”节点中)。
  2. 向用户展示他们的项目列表(列表以及项目的ID也存储在他们的用户节点中)。
  3. 当用户选择项目时,我当前正在查询整个项目的节点。
  4. 我只是不确定返回整个节点是否最有效(因为它可能包含数百或数千个元素,图像和表单)。

    我使用Angularfire2和FirebaseObjectObservable来返回提供程序中的整个项目节点(参见下文)。

0 个答案:

没有答案