我收到 Firebase 警告“使用未指定的索引。请考虑在/user/544dceb6-98d-4f7e/clients 添加 ".indexOn": "E-mail"。
我添加的规则是:
{
"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
我怀疑这个问题与两层 key 有关,但找不到解决方案。
非常感谢!
最佳答案
您的rules.json中缺少一个级别:
{
"rules": {
"user": {
"$userid": {
"clients": {
".indexOn": ["E-mail"]
}
}
}
}
}
旁注:树中的user
(单数)和clients
(复数)有点令人困惑。使它们保持一致有助于使数据结构更易于理解。
关于firebase - 为嵌套数据添加 .indexOn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35145347/