【问题标题】:is there a way to link subcollection in firestore to root collection有没有办法将firestore中的子集合链接到根集合
【发布时间】:2021-11-18 10:54:36
【问题描述】:

我有 2 个根集合,即 driverscars。在 drivers 集合中,我有代表每个驱动程序的文档。但是每个司机都有一个子集合driverCars来表示司机注册了多少辆车以及特定司机拥有的汽车的所有数据。

我之所以这样做,是因为它很容易查询在 firebase 中注册了多少辆汽车,以及某个司机注册了多少辆汽车。还有更多查询,我可以轻松地使用它从所有汽车和只有特定用户拥有的汽车中获取数据。我更新了 carsdriverCars 的集合,因为司机只是使用 dart 语言为后端注册汽车。如果汽车已经存在于 cars 集合中,那么它只会在 driverCars 中更新。但是当我想在 firebase 中手动删除汽车时会遇到一些问题。由于 2 集合未链接,我必须手动删除这两个文档,我认为这不是一个好方法。

所以我的问题是,有没有办法防止这种情况发生。有没有办法告诉 firebase 子集合 driverCars 中的汽车数据链接到 cars 并且如果其中一个要被删除,两者都将被自动删除.. 或者以这种方式对 Firestore 集合建模是我的错误??

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    有没有办法告诉火力基地汽车的数据 子集合 driverCars 与汽车相关联,如果其中之一是 删除,两者都会被自动删除。

    是的,一种经典方法是使用在删除其中一个文档时触发的云函数。 Cloud Function在后端执行,并删除其他集合中对应的doc。

    看看documentation。在您的情况下,您需要使用onDelete() function

    【讨论】:

    • ahhhh 我明白了.. 我只学习身份验证和云 Firestore.. 我从没想过学习所有其他 Firebase 构建,因为我认为我不会使用它.. 谢谢伙计!我现在就学
    • 很高兴能为您提供帮助。 Cloud Functions 是 Firebase 提供的一组服务中一个非常强大的元素。您应该毫不犹豫地使用它们!
    猜你喜欢
    • 2020-02-27
    • 2020-01-22
    • 2018-04-03
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多