我应该如何在Firebase中建模我的数据?

时间:2017-11-21 02:18:29

标签: firebase firebase-realtime-database data-modeling

我目前正在使用firebase开发(我的第一个)iOS应用程序并使用一小组用户进行测试,一切都很顺利(因为我将组织代码硬编码到ref构建器中)。该应用程序的结构是围绕自治组织,其自己的用户隐藏在其他组织之外。我遇到的问题是如何构建我的模型以便可以访问它,并且当它开始添加新的组织和用户时它是高效的。

具体问题: 组织名称是动态创建的,因此我的登录模式需要能够在Firebase中对用户进行身份验证,然后在其特定的组织代码下检索存储在数据库中的用户数据。我无法弄清楚每次用户打开应用程序时如何保存用于登录的组织代码,这样他们就不需要输入。技术上我可以下载整个数据库来查找但这是最糟糕的解决方案。我可能需要使用核心数据吗?

-_admin
    -org1
        -name
        -availble_licenses
        -used_licenses
    -org2
    -org3
    ...
-org1
    -users
        -$uid
           -name
           -uid
           -email
        -$uid
        -$uid
        ...
-org2
...

1 个答案:

答案 0 :(得分:1)

我的回答是基于这个假设

  

每次用户打开应用程序时,我都无法弄清楚如何保存用于登录的组织代码,因此他们无需输入。

为此,您不需要核心数据,而是 UserDefaults 。核心数据是一组庞大的数据。相反,UserDefaults,存储微小数据很有用。这就像用户偏好:

  

UserDefaults类提供了一个用于与默认系统交互的编程接口。默认系统允许应用程序自定义其行为以匹配用户的首选项。

因此,您可以使用它来存储特定用户的组织代码。 以下是有关如何使用UserDefaults的教程:UserDefaults