Firestore递归删除文档

时间:2019-03-29 08:58:41

标签: javascript google-cloud-firestore

让我们说我在消防站有以下产品集合:

product: {
    id: 10
    dependencies: [
        { id: 1 },
        { id: 2 }
    ]
}

product: {
    id: 5
    dependencies: [
        { id: 1 },
    ]
}

product: {
    id: 6
    dependencies: [
        { id: 2 },
        { id: 5 }
    ]
}


product: {
    id: 1
    dependencies: []
}
product: {
    id: 2
    dependencies: []
}

每个产品可能都有其自己的依存关系,这些依存关系在数组中列为与ID相关联的对象。我想知道用ID实施删除产品的最佳方法是什么,以便所有其他依赖于ID的产品也将被删除。

一些用例:

如果我使用id: 2删除产品,则应该删除以下产品:id:6id:10

如果我使用id: 1删除产品,则应该删除以下产品:id:10id:5。而且,由于带有id:5的产品与产品id:6的依赖关系,产品id:6也应删除。

在猫鼬中,我使用的是Schema.pre('remove', Function)。 用Firestore实现特定行为的最佳方法是什么?有建议吗?

0 个答案:

没有答案