我在android中有一个应用程序注册卖家,它有一个独特的电子邮件,我将它们存储在firebase中。创建一个规则,不允许添加重复项,但它似乎不起作用。我做错了什么?
ANSI_PADDING = OFF
我的添加方法
{
"rules": {
".read": true,
".write": true,
"sellers": {
"$seller": {
"email": {
".write": "!data.exists()"
}
}
}
}
}
答案 0 :(得分:3)
您正在调用push()
,这会生成一个统计上保证唯一的新子项。
如果您想确保唯一的电子邮件地址,您必须保留一个集合,其中(编码的)电子邮件地址是关键:
emails
pete@somedomain,com
puf@somedomain,com
使用此结构,以下规则将确保电子邮件地址只能写一次:
{
"rules": {
".read": true,
"emails": {
"$email": {
".write": "!data.exists()"
}
}
}
}
唯一值的主题定期出现,所以我建议您也查看以下内容: