leo*_*loo 8 ios firebase firebase-security swift firebase-realtime-database
我有这个结构:
"post": {
"groupMember": {
"-KHFHEHFWDB1213": "true",
"-KSJHDDJISIS011": "true",
"-KJSIO19229129k": "true"
}
}
Run Code Online (Sandbox Code Playgroud)
我想.indexOn自动生成的唯一groupMember id.
我试过这样做:
"post": {
".indexOn": "groupMember"
...
}
Run Code Online (Sandbox Code Playgroud)
但我仍然收到这个错误:
考虑在/ post添加".indexOn":"groupMember/-KHFHEHFWDB1213"
那么如何在唯一ID上添加.indexOn?
更新:
这是我使用的查询(在Swift中):
postRef.queryOrderedByChild("groupMember/\(uid)").queryEqualToValue(true).observeEventType(.Value, ... )
Run Code Online (Sandbox Code Playgroud)
要查询给定键之一是否具有值"true"(请注意,输入的数据结构是字符串,而不是布尔值——需要注意!),您需要创建如下安全规则:
{
"post": {
"groupMember": {
"$memberId": {".indexOn": ".value"}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在路径queryOrderedByValue("true")上使用/post/groupMember。需要注意的是,$memberId在规则中,它声明了一个代表自动生成的 id 的通配符键,并且.value,这表明您不想在子属性上建立索引(如果您的结构有另一层嵌套),而是希望在直接叶节点值上建立索引。
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |