我收到firebase警告“使用未指定的索引。考虑在/ user / 544dceb6-98d-4f7e / clients添加”.indexOn“:”电子邮件“。
我添加的规则是:
{
"rules": {
"user": {
"$clients": {
".indexOn": ["E-mail"]
}
}
}
}
这是我正在制作的电话:
firebaseRef.child(authData.uid + "/clients").orderByChild("E-mail").equalTo(this.props.params.clientId).on('value', function(clientSnapshot) { ... }
这就是我的数据结构:
database
+ user
+ 544dceb6-98d-4f7e...
+ clients
+ -K96sXIXRUIOK8....
+ E-mail
我怀疑这个问题与两层密钥有关但无法找到解决方案。
非常感谢!
答案 0 :(得分:10)
您在rules.json中错过了一个关卡:
{
"rules": {
"user": {
"$userid": {
"clients": {
".indexOn": ["E-mail"]
}
}
}
}
}
旁注:树中有user
(单数)和clients
(复数),这有点令人困惑。使它们保持一致有助于使您的数据结构更易于理解。