0

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

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

任何建议或其他方式来实现这一点对我来说非常有用。

4

1 回答 1

0

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

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

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

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

于 2020-06-17T16:05:04.760 回答