firebase安全规则模拟器出现问题,无法读取字段是否存在。我的结构如下,其中meta是团队的子集合,每个团队都在team集合中。
{
"teams": {
<TEAM_ID>" {
"name": "Team One"
"meta": {
"users": [<SOME USER UID>],
"admins": [<SOME UID>]
}
}
}
}
基本上,我只希望它们在meta.users中存在用户ID时能够读取。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /teams/{teamId} {
allow read: if exists(/databases/$(database)/documents/teams/$(teamId)/meta/users/$(request.auth.uid))
}
}
}
但是上述规则返回以下错误。
运行模拟时出错-错误:simulator.rules第[5]行,第[21]列。找不到函数错误:名称:[exists]。