将newdata转换为int/in firebase安全规则中
我正在设置安全规则,以便仅当(newData + athanSertedData)<限制
,但firebase安全规则编辑器显示以下错误
无效 +表达式:正确操作数不是数字或字符串。
我们可以将newdata转换为int/long,以便我们可以添加并检查状态吗?
我有错误的规则,
".write":"auth != null && ((root.child(\"GameResult\").child($adminRef).child($gameName).child($jodi).child($uid).val()+newData) < root.child(\"Limits\").child($adminRef).child(\"maxAmountOnEachJodi\").val())"
完整的规则(请立即忽略其他问题),
{
"rules":{
".read":"auth != null",
// ".write":"auth != null",
"GameResult":{
"$adminRef":{
"$gameName":{
"$jodi":{
"$uid":{
".write":"auth != null && ((root.child(\"GameResult\").child($adminRef).child($gameName).child($jodi).child($uid).val()+newData) < root.child(\"Limits\").child($adminRef).child(\"maxAmountOnEachJodi\").val())"
}
}
}
}
}
}
}
数据库节点如下: gamereSult节点中的值(红色标记)不应在极限节点中跨越值(蓝色标记)。
gameresult节点:
limit节点:
/*/MaxamountoneachJodi:value)
I am setting security rules so user can increment a value only if (newData + alreadyInsertedData) < limit
but firebase security rules editor showing below error
Invalid + expression: right operand is not a number or string.
Can we convert newData to int/long so we can add it and check if condition?
the rule I have error in,
".write":"auth != null && ((root.child(\"GameResult\").child($adminRef).child($gameName).child($jodi).child($uid).val()+newData) < root.child(\"Limits\").child($adminRef).child(\"maxAmountOnEachJodi\").val())"
complete rules(please ignore other issues right now),
{
"rules":{
".read":"auth != null",
// ".write":"auth != null",
"GameResult":{
"$adminRef":{
"$gameName":{
"$jodi":{
"$uid":{
".write":"auth != null && ((root.child(\"GameResult\").child($adminRef).child($gameName).child($jodi).child($uid).val()+newData) < root.child(\"Limits\").child($adminRef).child(\"maxAmountOnEachJodi\").val())"
}
}
}
}
}
}
}
database nodes are below:
the value(red marked) in GameResult node should not cross the value(blue marked) in Limit node.
GameResult node:
Limit node:
Finally what I want is:
(GameResult/*/*/*/*:value+ newData) <= (Limits/*/*/maxAmountOnEachJodi:value)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现它是一个具有val()函数的对象。因此,调用
newdata.val()
将完成工作。I found it, newData is kind of a object which has a val() function. So calling
newData.val()
will get the job done.