我无法正确获取规则的结构,以便访问嵌套数据。这是我的原始json:
{
"Field1" : "test",
"Field2" : "tests"
},
"client": {
"client_field": "Test!"
}
我正在尝试执行我的规则,以便我可以访问主字段field1
field2
,也可以访问嵌套的client_field
以下是我的规则:
{
"rules": {
".read": "now < 1635274993000", // 2021-10-26
".write": "now < 1635274993000", // 2021-10-26
"call": {
".indexOn":["field1", "field2", "client"]
},
}
}
我尝试了几种不同的方法,但似乎无法获得语法,也无法从Firebase获得Error saving rules
。
编辑:
我的数据库结构如下:
database
calls
- "Field1", "Field2"
- clients
- "client field"
因此,调用是最高级的,在每个调用中都有field1
、field2
和client
,客户端有其嵌套字段client field
我希望能够indexOn
客户端字段,这样我就可以获得client field
是特定值的数据。
要对嵌套字段进行索引,可以在index语句中指定其整个路径。因此:
{
"rules": {
".read": "now < 1635274993000", // 2021-10-26
".write": "now < 1635274993000", // 2021-10-26
"call": {
".indexOn":["field1", "field2", "client/client_field"]
},
}
}
有了这个,您现在可以通过执行callRef.orderByChild("client/client_field")
来对这个嵌套字段进行排序/筛选。