firebase中的规则是什么? &安培; $ incode中的$是什么意思?

时间:2018-01-22 09:51:10

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

代码中$uid的含义是什么?

$uid是列名还是键名?

{
    "rules": {
        "users": {
            "$uid": {
                ".write": "$uid === auth.uid"
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

,如document

  

用于表示ID和动态子键的通配符路径。

更多细节,假设你有这个数据

{
   users : {
      "SOME_KEY_1" : {"name" : 'test 1' , "private" : {...}} ,
      "SOME_KEY_2" : {"name" : 'test 2' , "private" : {...}} ,
      "SOME_KEY_3" : {"name" : 'test 3' , "private" : {...}} ,
   }
}

和这些规则

{
   "rules" : {
       "users" : {
           "$uid" : {
                "private" : "auth != null && auth.uid === $uid"
           }
       }
   }
}

您无法知道users节点的密钥,但您需要阻止其他用户private节点,除了他们自己的节点,因此您将$uid表示为动态子密钥

在您的情况下,您只是允许用户写入自己的数据