我们可以将电子邮件 ID 作为 Firebase 数据库中的键吗?

joe*_*oel 4 json firebase firebase-realtime-database

我想创建一个登录系统,当用户登录时,根据登录用户的电子邮件 ID,我想检索 EID。

我想要的 JSON 结构是:

{
  "joel@dept.com":
       {
            "EID":"0153"
        },
   "Stan@dept.com":
       {
               "EID":"0163"
        }
}
Run Code Online (Sandbox Code Playgroud)

我尝试将具有上述结构的 JSON 文件导入 Firebase 项目数据库,但出现错误提示“./ ...”不能是密钥的一部分。

Ket*_*ale 5

将一个字符替换为另一个字符可能会导致混淆,并可能在未来导致严重问题。

例如,替换.with_DOT_可能暂时有效。说将来您想取回原始电子邮件以进行验证;[没什么大不了的] 我可以_DOT_.. 如果有人有电子邮件,这将失败actual._DOT_@actualdot.com

解决方案是使用电子邮件哈希。目前我更喜欢 md5。

所以结构应该是:

{
    "<md5 hash of 'joel@dept.com'>": { 
            "EID":"0153" 
     }, 
    "<md5 hash of 'Stan@dept.com'>": { 
             "EID":"0163" 
    }
 }
Run Code Online (Sandbox Code Playgroud)