在我的Firebase中,我有许多数据项,在这种情况下,它们是公告。每个公告都有一个“ID”的子属性,每个公告都是唯一的。当我通过休息将公告发布到数据库时,有没有办法强制执行ID是唯一的?也就是说,如果我尝试两次添加具有相同ID的通知,则第二个会失败。我怀疑我可以用规则做点什么,但我不确定。
谢谢, 德克兰
答案 0 :(得分:3)
实现这一目标的最佳方法是通过ID本身识别每个公告,而不是将其作为子属性。然后,您可以使用以下安全规则:
".write": "!data.exists()"
如果有人尝试使用已存在的ID编写公告,则写入规则将评估为false,因此不允许使用。
您可以使用push()
方法生成按时间顺序排列的唯一标识符。