数据库结构
{
"post" : {
"-LWzHsKzAyK9Wfa1kbD_" : {
"name" : "test",
"title" : "test",
"userId" : "8D3sENaBcLaXoGNnh1MPuoyj5LP2"
},
"-LWzHx6u-gQ7XoVR714a" : {
"name" : "check",
"title" : "check",
"userId" : "WUM2HBkGo8TFDeOjEqO1s3lCj1p1"
}
}
}
我使用了此规则,但是保存No such method/property 'userId'.
时却出错了
{
"rules": {
".read": false,
".write": false,
"report": {
".read": "auth != null",
".write": "auth != null && ( (data.exists() && data.userId === auth.uid) || !data.exists() || !newData.exists() )"
}
}
}
答案 0 :(得分:0)
您不能只使用属性访问器表示法来获取数据的子值。您必须调用child()
函数以获取子项,并调用val()
函数以获取其值。
所以:
data.child('userId').val() === auth.uid