Firebase验证newData.val().length

Firebase验证newData.val().length,firebase,validation,firebase-realtime-database,firebase-security,Firebase,Validation,Firebase Realtime Database,Firebase Security,我不知道如何确保将无效的大数据写入Firebase项目 我有这样的数据结构: { "BotLevel" : 3, "CreateTime" : "2020-03-04T08:58:13.102305Z" } 本安全规则: { "rules": { ".read": "auth != null", ".write": "auth != null", "games": { "BotLevel": { ".va

我不知道如何确保将无效的大数据写入Firebase项目

我有这样的数据结构:

{
  "BotLevel" : 3,
  "CreateTime" : "2020-03-04T08:58:13.102305Z"
}
本安全规则:

{
    "rules": {
        ".read": "auth != null",
        ".write": "auth != null",
        "games": {

            "BotLevel": { ".validate": "true && newData.isNumber() && newData.val().length <= 10"},
                "CreateTime": { ".validate": true },

                "$other": { ".validate": false }
        }
    }
}
{
“规则”:{
“.read”:“auth!=null”,
“.write”:“auth!=null”,
“游戏”:{

“BotLevel”:{.validate”:“true&&newData.isNumber()&&newData.val().length我找不到关于此的任何文档,但您似乎可以仅对字符串使用newData.val().length,对数字使用newData.val()


因此,在我的例子中,我可以使用您到底想做什么?验证数字(
BotLevel
value)小于给定值或
BotLevel
值的长度小于某个值。我最初希望限制数据字段的长度,以确保不会被黑客攻击,并使用数据库填充未经请求的数据。由于
BotLevel
是一个数字,因此需要检查其值(也与长度检查相对应,例如
<1000===length<4
)。
length
属性用于字符串:请查看问题的注释。此外,您可以将此精度添加到初始问题中(单击编辑链接),而不是编写答案。