Firebase IndexOn警告消息

时间:2017-07-23 09:27:45

标签: javascript performance firebase firebase-realtime-database

我对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规则?

1 个答案:

答案 0 :(得分:2)

$childKey匹配任何子键。所以你必须在这里使用这个概念。

将数据库规则更改为:

"merchants": {
    ".indexOn": ["merchantName"],
    "$merchantId": {/*This matches all keys*/
        "branches": {
            ".indexOn": ["branchAddress"]
        }
    }
}