Het*_*tel 6 firebase-security google-cloud-firestore
我正在使用 Firestore 规则并想致电get()/exist()我正在使用 Firestore 规则并希望在函数中但会报错:
\n\n\n运行模拟时出错 \xe2\x80\x94 发生未知错误(查看过时的模拟)
\n
你能帮我指出我的错误吗?
\n\n当我尝试\n允许创建时: if get(/databases/{database}/documents/Attendants/$(request.auth.uid).data.UserID)!=request.auth.uid
\n\n它会给出以下错误:
\n\n运行模拟时出错 \xe2\x80\x94 错误:simulator.rules 行 [12],列 [31]。函数未找到错误:名称:[get].;错误:提供的调用参数无效。函数:[get],参数:["||invalid_argument||"](查看过时的模拟)
\n\n当我关注此文档时https://firebase.google.com/docs/firestore/manage-data/transactions并尝试exist()时:
\n\n存在(/databases/{database}/documents/admins/$(request.auth.uid));\n仍然不起作用。
\n\n我尝试了不同的路径存在并获取功能,即使我尝试完整路径,它也可以正常工作。\nget(/databases/$(database)/documents/GroupExperiences/Experience/PrivateExperience/XmZPoKKQuZBeP68KAIJl/Admins/it07).data
match /PrivateExperience/{Experience}\n { \n function isAdmin()\n {\n //return true;\n return exists(/databases/$(database)/documents/Admins/$(request.auth.uid));\n }\n function isAttendant()\n {\n return exists(/databases/$(database)/documents/Attendants/$(request.auth.uid));\n }\n allow create: if request.auth == null; \n match /Activities/{Activity=**}\n {\n allow create: if (isAdmin() || isAttendant());\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n\n
\n
已解决的错误:
\nError running simulation \xe2\x80\x94 An unknown error occurred (viewing outdated simulation).\n使用exists(/databases/{database}/documents/Attendants/$(request.auth.uid))\n 这有效。
解决:通过尝试在实际开发中进行测试。
\n结论:这是有关 Firestore 规则模拟的问题。
\n| 归档时间: |
|
| 查看次数: |
3059 次 |
| 最近记录: |