Firebase auth.uid无法在正则表达式中运行

时间:2017-01-26 16:02:07

标签: regex firebase

我想允许只对其uid位于节点名称中的用户进行读访问。

我在Firebase中有以下规则:

<employee Name="John" Surname="Doe" DateOfBirth="1980-01-31">
  <department DepartmentID="100">
    <security>5</security>
  </department>
</employee>
<employee Name="Mary" Surname="Rose" DateOfBirth="1971-02-27">
  <department DepartmentID="102">
    <security>3</security>
  </department>
</employee>
<employee Name="Luke" Surname="Perry" DateOfBirth="1995-12-01">
  <department DepartmentID="104">
    <security>1</security>
  </department>
</employee>

但是,这似乎不起作用。例如,当{ "rules": { "messages" : { "$chat" :{ ".read": "$chat.matches(/(auth.uid)/)" } } } } $chatuser45-user99auth.uid或仅user45-user99时,它就会失败。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在我看来,因为你不能在Firebase RegEx中使用变量,因为它将它们视为字符串。

这是我最终做的事情:

$chats.contains(auth.uid)