我现在正在学习Firebase,我需要检索属于用户有权访问的所有用户组的所有产品。
{
products: {
"prod1": {
"name": "Product 1",
"user-groups": {
"usergroup1": true,
"usergroup2": true,
"usergroup3": true
}
},
"prod2": {
"name": "Product 2",
"user-groups": {
"usergroup3": true
}
}
},
usergroups: {
"usergroup1": {
"name": "User Group 1",
"users": {
"user1": true
}
},
"usergroup2": {
"name": "User Group 2",
"users": {
"user1": true
}
},
"usergroup3": {
"name": "User Group 3",
"users": {
"user2": true
}
}
},
users: {
"user1": {
"name": "User 1",
"usergroups": {
"usergroup1": true,
"usergroup2": true
}
},
"user2": {
"name": "User 2",
"usergroups": {
"usergroup3": true
}
}
}
}
在这种情况下,user1必须只能看到prod1,而user2必须看到prod1和prod2。
我确实设法检索某个用户组中的所有产品,但没有考虑用户的所有用户组。
this.productsRef = firebase.database().ref('products')
.orderByChild('user-groups/usergroup1')
.equalTo(true);