【发布时间】:2019-04-19 01:11:15
【问题描述】:
我正在尝试验证数据是否为“是”。因此,如果此用户“Minivip = Yes”转了一些东西。但我无法从 firebase 获取数据。我收到此错误,我像这样更改了我的数据库规则.
{
"rules": {
"Kullanıcılar": {
".indexOn": ["Minivip", "Kredi"]
},
".read": true,
".write": true
}
}
我的数据库看起来像
|Kullanicilar
-|userid
--Minivip: "Yes";
-|userid
--|Minivip: "Yes";
-userid
--|Minivip: "No";
我使用此代码从数据库接收数据。
var viplerigetir = firebase.database().ref();
viplerigetir.child('Kullanıcılar').orderByChild('Minivip').equalTo('Evet').on("value", function(snapshot) {
//console.log(snapshot.val());
snapshot.forEach(function(data) {
console.log(data.key);
});
});
但我一直在控制台上收到此错误。怎么了?
错误信息
FIREBASE 警告:使用未指定的索引。您的数据将在客户端下载和过滤。考虑在您的安全规则中添加 /Kullanıcılar 的 ".indexOn": "Minivip" 以获得更好的性能。
【问题讨论】:
-
您收到的准确、完整的错误消息是什么?它通常会准确地告诉它正在尝试使用什么索引。
-
FIREBASE 警告:使用未指定的索引。您的数据将在客户端下载和过滤。考虑将 /Kullanıcılar 中的 ".indexOn": "Minivip" 添加到您的安全规则中以获得更好的性能。
-
我认为我找到了问题。它说 /Kullanıcılar 但我的孩子是 Kullanıcılar。所以我使用了无效字符,但我这样使用。因为如果我更改,没有人可以使用该应用程序。我已经下载了 1000 个。
标签: javascript firebase firebase-realtime-database firebase-security