验证Firebase密钥是一个整数

SM7*_*M79 4 firebase firebase-security

这是数据库模式:

在此输入图像描述

以下是规则:

"notifications": {
   "$year": {
      ".read": "false",
      ".write": "!data.exists()",
      "$month": {
          ".read": "false",
          ".write": "!data.exists()",

          "$day": {
              ".read": "false",
              ".write": "!data.exists()",

              "$hour": {
                  ".read": "false",
                  ".write": "!data.exists()",

                  "$minute": {
                      ".read": "false",
                      ".write": "!data.exists()",
                      "$data": {
                          ".read": "false",
                          ".write": "!data.exists()"
                      }
                  }
              }
          }
      }
   }
Run Code Online (Sandbox Code Playgroud)

如何验证(使用".validate"或".write"规则)用户只能在该树中输入整数?或者有一些解决方法吗?

我想要实现的是创建只写(没有删除或更新)日志,该日志具有一些结构并将在以后处理.我可以将结构更改为2015-10-6-17-30之类的密钥或其他内容.我简直不敢相信Firebase没有针对这种情况的东西.

更新:这不重复,我正在寻找一种解决方法,或者其他能帮助我实现目标的东西.

Kat*_*ato 14

要验证密钥是否为数字:

{
  "$key": {
     ".validate": "$key.matches(/^[0-9]+$/)"
  }
}
Run Code Online (Sandbox Code Playgroud)

但请阅读Firebase中有关类似行星的行为.提示:可能使用"y2015","m12"等前缀来避免使用数字时出现意外结果.