【发布时间】:2019-10-13 15:10:05
【问题描述】:
是否可以在 Firestore 规则中执行 Switch 语句或 if else 语句?
我试图搜索它,但没有找到答案。
我尝试的是
function getTier() {
return get(/users/$(request.auth.uid)).data.userTier;
}
function canAddProduct() {
if getTier() == 'UserTier.FREE'
// Do additional code
return doSomethingBasedOnFreeTier();
else if getTier() == 'UserTier.SILVER'
// Do additional code
return doSomethingBasedOnSilverTier()
else if getTier() == 'UserTier.GOLD'
// Do additional code
return doSomethingBasedOnGoldTier()
else if getTier() == 'UserTier.COMPANY'
// Do additional code
return doSomethingBasedOnCompanyTier()
}
任何帮助将不胜感激。
【问题讨论】:
-
if ... else语句在 Firestore 的安全规则中无效。但是通常您可以通过另一个构造来完成相同的结果,例如@denniskbijo 在他们的答案中展示的基于||的方法。如果这对您不起作用,请确保在您的问题中包含规则的目标,因为现在它看起来像 XY problem。
标签: google-cloud-firestore firebase-security