6

假设有两个文件

/orgs/foo
/users/alice

并且/users/alice有一个引用类型字段org引用/orgs/foo.

/orgs/foo时应该可以访问request.auth.uid == 'alice'。我怎样才能做到这一点?

我想它是这样的,但我无法弄清楚。换句话说,我怎样才能得到被引用文档的 ID?

function isOrgMember(orgId) {
  return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.org.__id__ == orgId;
}

match /orgs/{orgId} {
  allow read: isOrgMember(orgId);
}
4

1 回答 1

2

我知道自从最初的问题以来已经有一段时间了,但我遇到了类似的问题,我希望这可以帮助你或其他人。

你的条件是: get(/databases/$(database)/documents/users/$(request.auth.uid)).data.org.__id__ == orgId;

Butorg是一个参考,这(显然)意味着你也需要get它。试试这个: get(get(/databases/$(database)/documents/users/$(request.auth.uid)).data.org).id == orgId;

于 2018-04-28T13:53:27.913 回答