gpt4 book ai didi

Firebase Cloud Firestore 多对多关系

转载 作者:行者123 更新时间:2023-12-03 13:36:51 27 4
gpt4 key购买 nike

如何以多对多关系从 Firebase Cloud Firestore 构造和查询数据?

我有公司和承包商。一个承包商可以为多个公司工作,一个公司可以有多个承包商。这是一个简单的多对多关系。我希望能够回答有关公司和承包商的问题:

给定一家公司,他们是当前的承包商。
给定承包商他们为什么公司工作。
在 Cloud Firestore 中构建数据的正确方法是什么?

最佳答案

您可以拥有带有 map 字段的承包商项目,该字段的键作为公司键,并且值可以是 true 或时间戳以帮助订购。
以及具有以承包商键为键和一些值的 map 字段的公司。
https://firebase.google.com/docs/firestore/solutions/arrays 中提到了这种方法,当您尝试过滤和排序时...

Contractors
companies
idCompany1: timestamp
idCompany2: timestamp
idCompany3: timestamp

Companies
contractors
idContractor1: timestamp
idContractor2: timestamp

在这种情况下,您可以像该公司的承包商或该承包商的公司一样进行任何查询。
像这样:
fireStore.collection("Companies").whereField("contractors." + idContractor, isGreaterThan: 0).order(by: "contractors." + idContractor, descending: true)

是的,您必须在任何任务中更新这两个地方

希望这可以帮助!

关于Firebase Cloud Firestore 多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46625654/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com