我是Firestore的新手,面临一些奇怪的问题。
我正在尝试创建规则,以允许用户仅访问他拥有的数据。
allow read, update: if isLoggedIn() && getUserData().website == 'rBWIbXyx4bhh5UMlMx1F';
allow read, update: if isLoggedIn() && getWebsiteById('rBWIbXyx4bhh5UMlMx1F').domain == 'localhost:3000';
allow read, update: if isLoggedIn() && getWebsiteById(getUserData().website).domain == 'localhost:3000';
规则1和2通过。但是当我将它们组合成规则3时,它不起作用并且访问被拒绝。
功能如下:
function getWebsiteById(id) {
return get(/databases/$(database)/documents/websites/$(id)).data;
}
这是怎么了?如果我从其他函数传递值,为什么该函数不返回数据?