对于Web应用程序,我有一个用户和思维导图的列表。
每个用户都应该能够 1.只读/写自己的思维导图 2.与其他用户共享他们拥有的思维导图(只读)
当前,用户正在存储自己的思维导图(id)的引用,以便他们以后可以从/ mindmaps中检索到它。这种方法的问题在于,思维导图无法与其他用户共享。这就是我的规则和数据库现在的样子。
规则
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read" : $uid === auth.uid"
}
},
// user can only read mind maps of their own.
"mindmaps": {
"$mindmap": {
".write": "data.child('ownerUid').val() === auth.uid",
".read" : "data.child('ownerUid').val() === auth.uid || data.child('sharedTo').val() === auth.uid"
}
}
}
}
数据库
mindmaps: {
mindmap1: {
owner: "cjh",
sharedTo: "someOtherUser"
}
}
users: {
cjh: {
mindmaps: {
0: "mindmap1"
}
},
someOtherUser: { … }
}
我还能如何构造数据和规则?