我有这个规则,只有在以下情况下才允许:
!("plan" in request.resource.data.brand.userData)
问题是有时,请求不会有事件brand
字段,然后它会拒绝请求。这将允许它只有在brand
现场有没有plan
。
我如何首先检查是否brand
在request.resource.data
,并且仅当它在那里时,才能检查它plan
不在userData
?
有if () if () {}
规则吗?
if
Firestore 安全规则不支持真实条件。
还有是支持三元表达式但这些天。通过将其与表达式求值是短路的知识(因此 infalse && expression
和true || expression
theexpression
永远不会被求值)相结合,您通常可以将任何条件编写为三元组的组合。
所以你的组合规则看起来像:
allow write: if !("brand" in request.resource.data.keys() &&
"plan" in request.resource.data.brand.userData);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句