gpt4 book ai didi

google-cloud-firestore - 是否可以执行If Else或Switch语句Firestore规则

转载 作者:行者123 更新时间:2023-12-03 16:21:59 24 4
gpt4 key购买 nike

是否可以在Firestore规则中执行Switch语句或if否则?

我试图搜索它,但是没有找到答案的运气。

我试过的是

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()
}

任何帮助将不胜感激。

最佳答案

自2020年2月13日起,Firestore现在支持三元运算符
https://firebase.google.com/support/release-notes/security-rules#february_13_2020
这是可用运算符的文档(三元位于底部)
https://firebase.google.com/docs/rules/rules-language#building_conditions
从问题中获取示例代码,可以通过使用嵌套的三元运算符集来实现该解决方案

function getTier() {
return get(/users/$(request.auth.uid)).data.userTier;
}

function canAddProduct() {
return getTier() == 'UserTier.FREE' ?
doSomethingBasedOnFreeTier() :
(
getTier() == 'UserTier.SILVER' ?
doSomethingBasedOnSilverTier() :
(
getTier() == 'UserTier.GOLD' ?
doSomethingBasedOnGoldTier() :
(
getTier() == 'UserTier.COMPANY' ?
doSomethingBasedOnCompanyTier() :
null
)
)
)
}

关于google-cloud-firestore - 是否可以执行If Else或Switch语句Firestore规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56336274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com