Firebase关系删除



假设我有4个firebase集合。

类别->子类别->项目和收藏夹项目

用这个数据

类别:

  • 类别名称

子类别:

  • 子类别名称,类别ID

项目:

  • 项目名称,子类别ID

收藏夹项目:

  • 用户ID
  • ItemIdArray

我希望能够删除一个类别,但同时删除所有子类别、项目和收藏夹,具体取决于该类别文档。

做到这一点的最佳方法是什么?

  • 我应该添加所有类别和子类别作为项目的信息,然后删除它们吗
  • 有没有一种方法可以在数据库规则或存储函数中做到这一点
  • 或者我应该如何对我的数据建模

这个问题很宽泛,但我可以提出一些建议。有可能创建基于onDelete触发器的Firebase函数。

使用此功能,您几乎可以运行Firestore中删除事件触发的每个逻辑。我可以想象,你甚至可以创造";嵌套的";解决方案为每一项设置触发器。所以删除集合项,可以触发删除子类别的功能。删除子类别将触发另一个函数,该函数将删除项目。。。等等。。。

这当然是我们可以处理的众多解决方案之一。。。像Firestore这样的NoSql数据库没有模式,它们提供了几乎无限数量的可能数据结构。

最新更新