Firebase身份验证和Firestore之间的数据重复

时间:2019-12-23 19:16:42

标签: firebase google-cloud-firestore firebase-authentication

关于在Firebase身份验证和Firestore之间管理数据,我有一个小问题。

例如: Firebase身份验证API存储用户的电子邮件。 但是,我们也使用Firestore存储有关用户的其他详细信息。 所以问题是...

我们还应该将电子邮件存储在Firestore吗?

我觉得重复数据永远不是一个好主意。但是将电子邮件直接存储在Firestore中应该更快,更容易访问。

谢谢

1 个答案:

答案 0 :(得分:0)

  

我觉得重复数据永远不是一个好主意。

在使用NoSQL解决方案时,我强烈建议您放弃这种感觉。阅读NoSQL data modeling,并观看Getting to know Cloud Firestore,以了解更多信息。

您将从中了解到的一件事是,数据模型通常会针对应用程序需要的用例而发展。例如,如果要允许用户查看或搜索所有电子邮件地址,则该功能在客户端Firebase身份验证SDK中不是标准可用的。这意味着您可以为用户建立此功能的几种选择:

  1. Firebase身份验证的服务器端Admin SDK 执行,可以选择查找用户的电子邮件地址或列出用户。因此,您可以将此功能包装在您创建并保护的端点中(例如,使用Cloud Functions)。
  2. 您还可以在用户注册时将用户信息写入Cloud Firestore(或实时数据库),然后使用Firebase的安全规则从应用程序中查找信息,以确保所有对数据的访问均得到授权。 / li>

这只是一个示例,我希望很清楚,它基于推测您的应用程序需要某些功能。但是,开发人员将用户信息也存储在数据库的Firebase身份验证中也是很常见的。