javascript - 如何为数据列表编写 Firebase RealtimeDatabase 规则?
问题描述
这是我的数据库结构:
{
users: {
"userA": {
//data
},
"userB": {
//data
}
},
groups: {
"groupA": {
users: {
"userA": true,
"userC": true
},
//data
}
}
}
如您所见,userA 和 userB 都可以访问 groupA。
我想查询用户有权访问的所有组的列表:
const user = firebase.auth().currentUser
firebase
.database()
.ref('/groups')
.orderByChild(`users/${user.uid}`)
.equalTo(true)
.once('value', (v) => {
console.log(v.val())
});
如何保护我的数据库?
目前,我的规则如下所示:
{
"rules":{
"groups": {
".read": "query.orderByChild == 'users/' + auth.uid"
}
}
}
但我收到一个错误:
无效的 == 表达式:与排序进行比较时,右操作数必须是排序或字符串文字。
解决方案
推荐阅读
- amazon-web-services - 如何在运行管道之前签出特定标签?
- python - 如何在Python中获取带有索引的重复列表字符串
- python - Networkx:如何可视化地对一组节点进行分组
- asynchronous - Nodejs Sequelize递归异步/等待
- vba - 在 Outlook 中添加范围和文本
- c++ - 在 C++/MFC 应用程序/ADsOpenObject 中查询 AD 组成员
- python-3.x - 从 Pandas 系列中自动提取日期时间格式
- python - 自动登录 Google 帐户 Python Selenium
- javascript - CSP 标头 Angular 8 项目中的块 eval()
- javascript - 如何修复反应和打字稿中的类型错误?