javascript - 如何在基于 Firebase 查询的规则中按包含字符串的 orderByChild 进行过滤
问题描述
我想获取所有作为登录用户朋友的用户。这是我的数据结构。
{
"users": {
"UID1":{
"name":"Pepito",
"friends":{
"UID2":true,
"UID4":true,
}
}
...
}
}
我正在使用此代码获取用户
Firebase.database.reference().child("users")
.orderByChild("friends/" + Firebase.user.uid).equalTo(true)
规则应该是
{
"rules": {
"users" : {
".read" : "query.orderByChild.contains('friends/')",
"$uid" : {
".write": "auth.uid == $uid",
}
}
}
}
但是规则不起作用,当我尝试保存时出现此错误
Error saving rules – Line 6: Invalid property access: target is not an object.
第 6 行是
".read" : "query.orderByChild.contains('friends/')",
我也试过
".read" : "query.orderByChild == 'friends/'+auth.uid",
解决方案
推荐阅读
- ios - 线程 17:致命错误:在打开发送远程通知 Swift 时的可选值错误时意外发现 nil
- android - adb:错误:无法绑定侦听器:不允许操作
- python - 提取该行的一部分,然后对其进行解析,然后用新文本对其进行更改
- mysql - 使用 VBA 将数据插入 MySQL 数据库
- java - Akka:可追溯的日志
- python - 如何将多个字符串存储为一个变量
- c - c语言中的多维指针有困难吗?
- asp.net - 在 WPF 中运行 ASP.NET WebApp
- android - 解码 JSON 数组
- rest - Spring Boot Webclient - 等待多呼叫的结束响应