如何为Firebase中的所有子键设置“.indexOn”?

时间:2017-06-27 13:22:54

标签: firebase firebase-realtime-database firebase-security

我在Firebase实时数据库中有以下数据结构。

{
   groups: {
      $groupid: {
        $userid: Boolean
      }
   }
}

此处#groupid$userid会有所不同 当ID为“user0”的用户位于“group0”组中时,它将是

{
   groups: {
    ...
    group0: {
       user0: true
    }
    ...
   }
}

删除用户后,该用户将为user0: false。 当我向特定用户查询群组时,Firebase SDK会显示警告: FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn": "user0" at /groups to your security rules for better performance

由于用户ID不同,我认为应该为所有用户ID建立索引 如何编写相关的安全规则?

1 个答案:

答案 0 :(得分:0)

如果要查询具有特定用户的组,最好使用户维护组列表。

{
    user-groups: {
        user0: {
            group0: true,
            group1: true
        }
    }
}

因此,一个组有其成员,用户拥有他/她所属的组。