首页 文章

如何正确构建Firebase数据库?

提问于
浏览
0

我阅读了一些关于如何正确构建数据的Firebase数据库结构指南(没有数据嵌套),但我有一个问题 . 所以,我有一个使用Firebase数据库的iOS应用程序 . 用户需要登录/注册 . 在数据结构方面,我的数据库如下所示:

-Database
---Users
-----User1
--------username: johndoe
---------email: johndoe@test.com
---------display_name: John Doe
-----User2 {....}
-----User3 {....}

现在,让我们想象一下,我有100K用户 . 每次注册新用户时,我都会检查数据库中是否已存在用户名和电子邮件,如果他们没有,则创建新的用户帐户 .

我的问题是 - 我是否需要创建一个只包含用户名的新对象和另一个只包含电子邮件的对象?我问这个是因为我担心如果我遍历Users对象,我可能会下载数百兆字节,以检查用户名和电子邮件是否已经存在 .

1 回答

  • 0

    Firebase不允许重复用户(身份验证名称) . 因此,当您调用createUser时,如果用户已存在,firebase将返回错误 .

    其次,如果您在Firebase中为特定项目执行query,则除非找到该项目,否则您不会下载任何内容 . 因此,无论是10个还是100k个用户节点,在执行与查询匹配的节点之外的任何查询时都不会下载任何内容,如果存在重复的用户,则只会是一个查询 . 但是,由于Firebase拒绝重复的身份验证名称,因此不需要这样做 .

    并澄清;嵌套节点没有任何问题 . 但是,根据您的使用情况,保持平整通常会更好 . 所以不要_2881689 .

    哦,你的Firebase结构正好点亮了 . 继续这样做 .

相关问题