FIREBASE警告:使用未指定的索引。考虑在安全规则中添加“.indexOn”:“键盘”以获得更好的性能

时间:2017-10-15 11:56:42

标签: javascript firebase firebase-realtime-database

为什么我会收到此错误?:

  

FIREBASE警告:使用未指定的索引。考虑在/或安全规则中添加“.indexOn”:“键盘”以获得更好的性能

我的Firebase中有很多Telegram键盘 1:我想修复此错误。 ✔️
2:当电报用户键入rock时,我想获取和控制台。rockyrock

const ref = db.ref('Keyboards/rock');  //keyboard 1
const ref = db.ref('Keyboards/morning');  //keyboard 2
const ref = db.ref('Keyboards/rocky');  //keyboard 3

结构: enter image description here

规则:

{
  "rules": {
    ".read": true,
    ".write": true,
      "Keyboards" : {
             ".indexOn": "Keyboards"
         }
  }
}

代码:

const ref = db.ref('/');
  ref.child('/').orderByChild('Keyboards').equalTo('rock').on("value", function(snapshot) {
    console.log(snapshot.val());
    key = snapshot.forEach(function(data) {
        console.log(data.key);
    });
});

1 个答案:

答案 0 :(得分:10)

您正在多次运行相同的查询,并且每次都由同一个孩子进行排序:Keyboards。 Firebase告诉你,你可能想要为这个搜索编制索引,有点像告诉数据库你经常这样做,所以要做好准备,我会经常这样做。

这里解释:Index your data

您可以在数据库 - >下设置索引项目中的规则