Firestore 中的多租户
Multitenancy in Firestore
关于基于子集合值查询数据的实际限制,在 Firestore 中管理多租户的建议方法是什么?
我希望能够检索和限制对与 entities/companies 用户所属的数据相关的数据的访问。
示例数据结构:
/companies/{companyId}/users/
/companies/{companyId}/users/{user}/roles
/companies/{companyId}/docs/
可以/companies/{companyId}/users/
是一个集合吗?
如何只检索用户在 /companies/{companyId}/users
中拥有角色的公司?
Firestore 路径从集合到文档再返回:
/collection/document/subcollection/subdocument
所以是的,在这种情况下,您将拥有 companies
、users
和 docs
的集合。集合也是 隐含的,因为它们在其中存在文档时自动创建,而在其中不存在文档时被删除。
目前不支持子集合查询(例如 "all users in a given company"),因此您必须以相反的方式构建查询:将 users 集合与 company 作为 属性 , 在执行查询以查找该公司中的所有用户时。
ref.collection('users').where('company', '==', 'ACME').get().then((document) => {/* Do stuff here */});
关于基于子集合值查询数据的实际限制,在 Firestore 中管理多租户的建议方法是什么?
我希望能够检索和限制对与 entities/companies 用户所属的数据相关的数据的访问。
示例数据结构:
/companies/{companyId}/users/
/companies/{companyId}/users/{user}/roles
/companies/{companyId}/docs/
可以/companies/{companyId}/users/
是一个集合吗?
如何只检索用户在 /companies/{companyId}/users
中拥有角色的公司?
Firestore 路径从集合到文档再返回:
/collection/document/subcollection/subdocument
所以是的,在这种情况下,您将拥有 companies
、users
和 docs
的集合。集合也是 隐含的,因为它们在其中存在文档时自动创建,而在其中不存在文档时被删除。
目前不支持子集合查询(例如 "all users in a given company"),因此您必须以相反的方式构建查询:将 users 集合与 company 作为 属性 , 在执行查询以查找该公司中的所有用户时。
ref.collection('users').where('company', '==', 'ACME').get().then((document) => {/* Do stuff here */});