一种在Firebase中强制执行唯一属性的方法



在我的Firebase中,我有许多项数据,在本例中它们是公告。每个公告都有一个子属性"ID",该属性对于每个公告都是唯一的。当我通过rest向数据库发布公告时,是否有一种方法可以强制ID是唯一的?也就是说,如果我尝试添加具有相同ID的公告两次,则第二次将失败。我怀疑我可以用规则做些什么,但我不确定。

谢谢,Declan

实现这一点的最佳方法是通过ID本身来标识每个公告,而不是让它成为子属性。然后你可以使用如下的安全规则:

".write": "!data.exists()"

如果有人试图写一个ID已经存在的公告,写规则将计算为false,因此它将被禁止。

您可以使用push()方法生成按时间顺序排列的唯一标识符。

最新更新