【问题标题】:Firebase database rule to prevent duplicatesFirebase 数据库规则以防止重复
【发布时间】:2018-10-25 23:05:23
【问题描述】:

我有一个如下所示的数据库:

app-name
 ᠁
[-]⋯users
     ᠁
     ᠁⋯⋯ -AOSa09sd8QEK
     ᠁       ᠁ 
     ᠁       ᠁⋯⋯ date: 12/06/05
     ᠁       ᠁ 
     ᠁       ᠁⋯⋯ email: foo@gmail.com
     ᠁
     ᠁⋯⋯ -AOSa3xsd489E
            ᠁ 
            ᠁⋯⋯ date: 12/36/05
            ᠁ 
            ᠁⋯⋯ email: bar@gmail.com

我想避免重复的电子邮件,所以如果我尝试推送一个项目{date: 11/06/10, email: bar@gmail.com,它必须被拒绝并且数据库中不会发生任何事情。

我的规则现在是这样的:

{
  "rules": {      
    "users": {
      ".read": true,
      ".write": true,
    }
  }
}

如何在 Firebase 数据库上实施规则,以防止在此电子邮件限制下出现重复?

【问题讨论】:

  • @chetanmahajan 你认为需要什么代码?

标签: firebase firebase-realtime-database firebase-security


【解决方案1】:

您不能编写这样的规则来检查唯一性。您可以做的最好的事情是使用云函数在写入时触发,然后可以执行查询以查看现在是否有超过 1 条记录共享添加的数据。这意味着有人刚刚添加了一个副本,然后可以在同一个函数中将其删除。

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 2021-08-13
    • 2017-03-06
    • 1970-01-01
    相关资源
    最近更新 更多