Firebase 关系删除
Posted
技术标签:
【中文标题】Firebase 关系删除【英文标题】:Firebase relational delete 【发布时间】:2021-01-05 02:41:12 【问题描述】:假设我有 4 个 firebase 集合。
类别 -> 子类别 -> 项目和收藏项
有了这些数据
类别:
类别名称子类别:
子类别名称,CategoryID项目:
项目名称、子类别 ID最喜欢的物品:
用户 ID ItemIdArray我希望能够删除一个类别,但同时删除所有子类别、项目和收藏夹,具体取决于该类别文档。
这样做的最佳方法是什么?
我是否应该将所有类别和子类别添加为项目的信息,然后将其删除。 有没有办法在数据库规则或存储函数中做到这一点? 或者我应该如何为我的数据建模?【问题讨论】:
【参考方案1】:这个问题很广泛,但我可以提出一些建议。有可能基于onDelete
trigger创建Firebase function。
使用此功能,您几乎可以运行由 Firestore 中的删除事件触发的所有逻辑。我可以想象你甚至可以创建“嵌套”解决方案,在每个项目上放置触发器。所以删除集合项,可以触发删除子类别的功能。删除子类别将触发另一个删除项目的函数......等等......
这当然是我们能想到的众多解决方案之一...... NoSql 数据库,如 Firestore,没有架构,它们提供了几乎无限数量的可能数据结构。
【讨论】:
以上是关于Firebase 关系删除的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 通知:如何从 Firebase 中删除令牌?