基于日期的Firebase数据库规则

时间:2017-10-08 17:51:48

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

Firebase数据库:

数据结构

"transactiondate"
   |-->10082017  //new value comes everyday
   |    |-->User_unique_id
   |           |-->"key":"value"  

我有一个firebase数据库规则,如下所示,

"transactiondate":{
  "now()":{
  "$user_id": {
  ".write": "$user_id === auth.uid",
  ".read": false}}}  

用户需要在transactiondate / 10082017 / uniqueidhere /下写入自己的空间,但now​​函数未将日期验证为10082017或我尝试的任何格式包括epoch。

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样?

"rules": {
  "transactiondate": {
    "$date_val": {
      "$user_id" : {
        ".read": false,
        ".write": "$user_id === auth.uid"
      }
    }
  }
}

$ date_val只是实际交易日期的占位符(在您的示例中为“10082017”)。您不需要像now()那样使用任何东西来尝试在规则中获得实际日期。

只要“transactiondate”节点下没有其他类型的子节点,这就应该有效。如果还有其他类型的孩子,您可能需要提供更多的数据样本。