我正在使用 Firestore 规则并想要致电get()
/exist()
在一个函数中,然后我在子集合中调用该函数。但会报错:
运行模拟时出错 — 发生未知错误(查看过时的模拟)
你能帮忙指出我的错误吗?
当我尝试时
允许创建: if get(/databases/{database}/documents/Attendants/$(request.auth.uid).data.UserID)!=request.auth.uid
它会给出以下错误:
运行模拟时出错 — 错误:simulator.rules 行 [12],列 [31]。函数未找到错误:名称:[get].;错误:提供的调用参数无效。函数:[get],参数:["||invalid_argument||"](查看过时的模拟)
当我关注这个文档时https://firebase.google.com/docs/firestore/manage-data/transactions https://firebase.google.com/docs/firestore/manage-data/transactions并尝试存在():
存在(/databases/{database}/documents/admins/$(request.auth.uid));
仍然不起作用。
我尝试了不同的路径存在并获取功能,即使我尝试完整路径,它也可以正常工作。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)
.
Using exists(/databases/{database}/documents/Attendants/$(request.auth.uid))
这有效。
解决:通过尝试在实际开发中进行测试。
结论:这是有关 Firestore 规则模拟的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)