我对firebase的索引有些疑问。这是我的firebase结构:
merchants {
merchantID1 : {
merchantName :
branches : {
branchID1 : {
branchAddress :
}
}
}
}
我在Firebase网站上的索引编制规则:
"merchants": {
".indexOn": ["merchantName"]
},
我从JavaScript获得了两个不同的orderByChild查询。一种是查询
merchantName
,另一种是branchAddress
。在Firebase中添加indexOn merchantName rule
后,警告消息消失了。但是,当我执行另一个查询branchAddress
的功能时,我收到此警告消息:FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn":
"branchAddress" at /merchants/-KpeV5_lnWA2Zd_g7x8C/branches to your security
rules for better performance
我实际上如何在孩子的不同级别上指定indexOn规则?
最佳答案
$childKey
与任何子键匹配。因此,您必须在这里使用该概念。
将您的数据库规则更改为:
"merchants": {
".indexOn": ["merchantName"],
"$merchantId": {/*This matches all keys*/
"branches": {
".indexOn": ["branchAddress"]
}
}
}