我有一组任何用户可以附加的项目,但您只能读/写您拥有的项目。
这是我正在努力的简化版本。我不能仅仅$uid
部分路径,因为这些项目也会与特定的其他用户共享。
"session": {
"$other": {
".validate": "(!data.child('owner').exists() && newData.child('owner').val() == auth.uid) || newData.child('owner').val() == data.child('owner').val()",
".read": "data.child('owner').val() == auth.uid",
".write": "newData.child('owner').val() == auth.uid"
}
}
根据上述规则,用户可以push({ owner: my_uid })
进入列表。我已经确认该用户可以读取和写入新创建的记录。
我的用户如何找到它有权访问的所有记录?
答案 0 :(得分:0)
"session": {
"index": {
"$uid": {
".read": "$uid == auth.uid",
"$sessionid": {
".write": true
}
}
},
"$other": {
".validate": "(!data.child('owner').exists() && newData.child('owner').val() == auth.uid) || newData.child('owner').val() == data.child('owner').val()",
".read": "data.child('owner').val() == auth.uid",
".write": "newData.child('owner').val() == auth.uid"
}
}
每次创建session/<id>/
时,我都会使用此方法在session/index/<uid>/<id>
下创建一个条目。因为任何用户都可以写入该地址,但只有您可以从中读取,我应该能够通过写入索引与其他用户共享。