如何在Firebase实时数据库规则中使用拆分功能

时间:2020-06-17 07:09:04

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

我在数据库中有这样的用户ID字符串,例如“ 1WZeRpklGEgd5zjdHqaGC8Fq1vz2_1”,并与“ _”和一个数字合并,我想将其拆分以获取数据库规则中的用户ID,然后将其与auth.uid进行比较就像:

...
  "Tasks":{
     "$task_id":{
        ".read": "$task_id.split('_') == auth.uid"
         ...
      }
   }

任何建议或其他实现此目标的方法对我都很有用。

1 个答案:

答案 0 :(得分:0)

据我从API documentation得知,字符串上没有split()函数,也没有任何其他函数可以让您从字符串中提取数据。

我建议使用孩子的来存储UID,而不是将其放在键名中,而应在规则中使用它。 documentation显示了一个如下所示的示例:

  "Tasks":{
     "$task_id":{
        ".read": "data.child('uid').value == auth.uid"
         ...
      }
   }

这样,如果您在读取位置处有一个名为“ uid”的孩子,则可以在规则中使用它来检查访问权限。