以下规则在嵌套(**)匹配中的“请求”上产生错误:
运行模拟时出错-错误:simulator.rules第[10]行,第[30]列。空值错误。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// Allow users to only edit their records
match /users/{userId}{
allow read, update, delete: if request.auth.uid == userId;
allow create: if request.auth.uid != null;
match /{documents=**} {
allow read, write: if request.auth.uid == userId;
}
}
}
}
失败的模拟器测试是:
GET: /users/MyUserId/items/MyItemId
这使用的是“密码”身份验证,但是即使以“未经身份验证”身份运行也会产生相同的错误,就像模拟器未正确编译规则一样。
答案 0 :(得分:0)
进一步的故障排除表明它可以在数据库中实时运行,而不能在模拟器中运行。因此必须是模拟器错误。