2013-05-02 28 views
1

在我的Firebase中,我有一些数据项,在这种情况下,它们是公告。每个公告都有一个“ID”的子属性,这对每个公告都是唯一的。当我通过休息发布公告到数据库时,是否有办法强制ID是唯一的?也就是说,如果我试图用相同的ID添加两次公告,第二次就会失败。我怀疑我可以用规则做些事情,但我不确定。强化Firebase中的独特属性的一种方法

感谢, 德克兰

回答

3

实现,这将是由ID本身识别具有它是一个孩子属性的每个公告,而不是最好的办法。如果有人试图写一个宣布已存在写入规则将评估为假,因此将被禁止的ID

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

:然后你就可以像使用安全规则。

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

+0

不,你可以在关键的“gonzagan”下面有多个孩子 - 如果你尝试用set()写一个带有键“01”的孩子,它会失败,因为“01”已经存在,但用“02”工作。 – Anant 2013-05-03 16:56:16

+0

你(@Anant)是否介意把它的一个简单例子的主要工作?例如。假设我已登录,我想创建一个组,但只有在组名尚不存在的情况下才能这样做。忽略登录,所有这些,仅仅是关于创建组和捕获唯一性的代码(和规则)? – deitch 2013-07-18 13:44:45