【发布时间】:2018-01-28 20:51:16
【问题描述】:
我正在使用 firebase 创建一个具有登录和注册功能的网站。我已经使用firebase“身份验证”数据库来存储注册用户。但是,“身份验证”数据库不存储除电子邮件ID、密码和自动生成的UUID之外的任何内容。
我需要为用户存储更多数据,例如用户名、个人资料图片等。我也会使用 firebase 的“实时”数据库。
我的问题是这样做的最佳做法是什么。我是否应该使用 UID 作为“身份验证”数据库中的主键并将其作为外键保存在我的实时数据库中,如下所示:
身份验证数据库:
Record 1 - Email:abc@test.com; password:somepassword; UID:UID1
Record 2 - Email:abcd@test.com; password:somepassword; UID:UID2
实时数据库结构:
users
|
|--UID1
|
|---Name:Amanda
|---Surname:Waller
|---age:30
|--UID2
|
|---Name:MyName
|---Surname:Mysurname
|---age:39
或者使用电子邮件 ID 作为主键而不是使用 Firebase 自动生成的 UID 是否更好。因为在sql中我们一般不使用自动生成的id作为主键。
【问题讨论】:
-
除了 Jen 的出色回答:您提供的 [user name]() 和 [profile pic]() 示例也可以直接存储在 Firebase 身份验证中。有关这两个示例,请参阅 Firebase 文档:firebase.google.com/docs/auth/android/…(Android,但在 Web 和 iOS 上的工作方式相同)。
标签: firebase firebase-realtime-database firebase-authentication