Firestore中的多租户
问题描述:
关于基于子集合值查询数据的实际限制,有什么建议的方式来管理Firestore中的多租户?Firestore中的多租户
我希望能够检索并限制对用户所属实体/公司相关数据的访问。
实施例的数据结构:
/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
集合。集合也是隐式因为它们是在文档存在于文档中时自动创建的,并且当文档中不存在文档时将被删除。
目前,子集合查询(例如,“给定公司中的所有用户”)不受支持,因此您必须以其他方式构建查询:将公司的用户集合作为属性,何时执行查询以查找该公司中的所有用户。
ref.collection('users').where('company', '==', 'ACME').get().then((document) => {/* Do stuff here */});
通常建议为不同的环境使用单独的项目,而不是将它们放在一个项目中。如果你这样做,你将会对每个Firebase产品有更好的隔离和访问控制。 –