FireStore规则Get()/Existes()不起作用 [英] firestore rules get() / exists() not working
本文介绍了FireStore规则Get()/Existes()不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
get()
/exist()
,然后在子集合中调用该函数。但它将显示错误:
运行模拟时出错-出现未知错误(查看过时的模拟)
你能帮我指出我的错误吗?
当我尝试时 允许创建:如果为get(/databases/{database}/documents/Attendants/$(request.auth.uid).data.UserID)!=request.auth.uid
它将显示以下错误:
运行模拟时出错-错误:模拟器。规则行[12],列[31]。找不到函数错误:名称:[GET]。;错误:提供给调用的参数无效。函数:[GET],参数:["||INVALID_ARGUMENT||"](查看过时的模拟)当我按照此文档https://firebase.google.com/docs/firestore/manage-data/transactions并尝试eXist()时:
exists(/databases/{database}/documents/admins/$(request.auth.uid)); 仍然不起作用。
我在EXISTS和GET函数中尝试了不同的路径,即使我尝试了完整路径,它也工作得很好。get(/databases/$(database)/documents/GroupExperiences/Experience/PrivateExperience/XmZPoKKQuZBeP68KAIJl/Admins/it07).data
match /PrivateExperience/{Experience}
{
function isAdmin()
{
//return true;
return exists(/databases/$(database)/documents/Admins/$(request.auth.uid));
}
function isAttendant()
{
return exists(/databases/$(database)/documents/Attendants/$(request.auth.uid));
}
allow create: if request.auth == null;
match /Activities/{Activity=**}
{
allow create: if (isAdmin() || isAttendant());
}
}
推荐答案
已解决错误:
Error running simulation — An unknown error occurred (viewing outdated simulation)
。
使用exists(/databases/{database}/documents/Attendants/$(request.auth.uid))
这很管用。
解决:在实际开发上试用测试。
结论:这是有关FiRestore规则模拟的问题。
这篇关于FireStore规则Get()/Existes()不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文