我正在编写一个应用程序,我有用户,每个用户都有旅行。 我已设法验证并插入用户的数据。现在我想为旅行列表定义规则。 目前,即使使用相同的定义,我也无法使模拟器工作(获得用户的写入/读取权限,但没有出行,请参阅图片): 这就是我失败的原因:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
},
"trips" : {
"$uid" : {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
}
}
}
}
}
我最终想要的是:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
},
"trips" : {
"$tid" : {
".indexOn": ["uid"],
".write": "<only if child field 'uid' is same as auth.uid>",
".read": "auth != null"
}
}
}
}
}
答案 0 :(得分:2)
那是因为你已经嵌套了你的旅行&#34; &#34;用户&#34;下的规则规则。他们都应该遵守&#34;规则&#34;节点。像这样:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
}
},
"trips" : {
"$tid" : {
".write": "$tid === auth.uid",
".read": "auth!=null",
".indexOn":"uid"
}
}
}
}