我找不到任何方法来访问Firebase规则中写入的数据名称,这对我来说非常关键。 Firebase规则支持这种东西吗?
"tests":{
"$test":{
".read": "auth.uid != null",
".write": "auth.uid != null
"$user_id":{".validate": "newData.isBoolean() && auth.uid == NewData.NAME(?)"}
}
}
将要写入的样本数据:
{
"YHer1txgZyReM8dEkSCTDg4l2ro1": true
}
示例数据库结构:
"tests":{
"test1":{
"YHer1txgZyReM8dEkSCTDg4l2ro1": true,
"A4sfgYhred1festfsefsSRGFsgr3": true,
"7JIsfgYhred1festfsefsSRGFsg8": true,
}
"test2":{
"YHer1txgZyReM8dEkSCTDg4l2ro1": true,
"A4sfgYhred1festfsefsSRGFsgr3": true,
"7JIsfgYhred1festfsefsSRGFsg8": true,
}
}
答案 0 :(得分:0)
使用newData.NAME(?)
代替$user_id
。
所以:
"tests":{
"$test":{
".read": "auth.uid != null",
".write": "auth.uid != null
"$user_id":{".validate": "newData.isBoolean() && auth.uid == $user_id"}"
}
}
另请参阅securing user data上的Firebase文档,其中包含一个非常接近您需要的示例。