Firebase。验证孩子记录的规则
问题描述:
我有一个关于firebase实时数据库的用户数据库。Firebase。验证孩子记录的规则
我的结构是:
用户 - > UID - > user_infos(在这个水平我有一个所谓的财产: 'CPF')
所以我创建了中央公积金.validate规则:
{
"rules": {
"users": {
"$user_id": {
"$cpf": {
".validate": "!data.exists()"
}
}
}
}
}
问题是,当我尝试保存用户,我收到一个PERMISSION_DENIED
错误。
我使用的是JavaScript的火力LIB,3.4.1
,我使用的保存用户的方法是:
firebase.database().ref('users/' + uid).set(userDb);
我的本意是,CPF属性为唯一数据库上。
谢谢。
答
我修正了它,手动验证firebase。这不是很好的解决方案,但工作。
+2
你应该发布你的解决方案,如果其他人有同样的问题,他们可以尝试你的解决方案。 –
你的规则看起来不错。我可以很快看到这个失败的唯一方法是当'userDb.id'是一个空字符串时。 –
嗨@FrankvanPuffelen我更新了我的问题,旧的问题并未满足我的需要。 Thx –
如果你尝试'.write'而不是'.validate'并使用规则'“.write”:“!data.exists()||!newData.exists()”'“ –