我在数据库中有这样的用户ID字符串,例如“ 1WZeRpklGEgd5zjdHqaGC8Fq1vz2_1”,并与“ _”和一个数字合并,我想将其拆分以获取数据库规则中的用户ID,然后将其与auth.uid进行比较就像:
...
"Tasks":{
"$task_id":{
".read": "$task_id.split('_') == auth.uid"
...
}
}
任何建议或其他实现此目标的方法对我都很有用。
答案 0 :(得分:0)
据我从API documentation得知,字符串上没有split()函数,也没有任何其他函数可以让您从字符串中提取数据。
我建议使用孩子的值来存储UID,而不是将其放在键名中,而应在规则中使用它。 documentation显示了一个如下所示的示例:
"Tasks":{
"$task_id":{
".read": "data.child('uid').value == auth.uid"
...
}
}
这样,如果您在读取位置处有一个名为“ uid”的孩子,则可以在规则中使用它来检查访问权限。