为什么我会收到此错误?:
FIREBASE警告:使用未指定的索引。考虑在/或安全规则中添加“.indexOn”:“键盘”以获得更好的性能
我的Firebase中有很多Telegram键盘
1:我想修复此错误。 ✔️
2:当电报用户键入rock
时,我想获取和控制台。rocky
和rock
,
const ref = db.ref('Keyboards/rock'); //keyboard 1
const ref = db.ref('Keyboards/morning'); //keyboard 2
const ref = db.ref('Keyboards/rocky'); //keyboard 3
规则:
{
"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);
});
});
答案 0 :(得分:10)
您正在多次运行相同的查询,并且每次都由同一个孩子进行排序:Keyboards
。 Firebase告诉你,你可能想要为这个搜索编制索引,有点像告诉数据库你经常这样做,所以要做好准备,我会经常这样做。
这里解释:Index your data
您可以在数据库 - >下设置索引项目中的规则。