我向应用程序添加了新功能,现在出现此错误:
已达到最多1000个要评估的表达式
由消防站规则引发。
由于似乎对于该特定写入而言,要执行的控制要少得多,所以我想提出一些建议以避免这种行为或引入一些漏洞。
您对避免此问题有任何建议吗?
答案 0 :(得分:1)
逻辑表达式短路。
表达式是可以求值的任何东西。例如,true
是一个表达式。 false || false
是三个表达式。
没有更改限制的路线图。设置此限制是为了防止每个操作占用过多的资源。还请记住,安全规则是免费的(文档访问除外),而且免费提供的内容始终受到严格限制。
由于我们看不到您的规则,因此实际上不可能推荐确切的建议。您应该考虑使用函数来减少为某些访问而评估的表达式数量。如果您发现自己经常输入类似request.resource.data.foo
之类的内容,请考虑使用一个函数并将request.resource.data
传递给该函数以提取值,而不是反复计算三个表达式的request.resource.data
。