Inf*_*tus 18 firebase google-cloud-firestore
如何在多对多关系中构建和查询Firebase Cloud Firestore中的数据?
我有公司和承包商.承包商可以为多个公司工作,公司可以拥有多个承包商.这是一个简单的多对多关系.我希望能够回答有关公司和承包商的问题:
鉴于一家公司,谁是现有的承包商.鉴于承包商他们为公司工作的是什么.在Cloud Firestore中构建数据的正确方法是什么?
小智 6
您可以将“承包商”项目的地图字段作为公司密钥,并且其值可以是真实的,也可以是时间戳以帮助订购。并且公司的地图字段以承包商的密钥作为密钥并具有一定的价值。当您尝试过滤和分类时,https: //firebase.google.com/docs/firestore/solutions/arrays中提到了此方法。
Contractors
companies
idCompany1: timestamp
idCompany2: timestamp
idCompany3: timestamp
Companies
contractors
idContractor1: timestamp
idContractor2: timestamp
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以进行任何查询,例如该公司承包商或该承包商的公司。像这样:
fireStore.collection("Companies").whereField("contractors." + idContractor, isGreaterThan: 0).order(by: "contractors." + idContractor, descending: true)
Run Code Online (Sandbox Code Playgroud)
是的,您必须在任何任务中同时更新两个位置
希望这可以帮助!
归档时间: |
|
查看次数: |
4907 次 |
最近记录: |